LenovoId
@LenovoId
svg, css,js

Как сделать анимацию прогрутки к якорю?

Имеем родителя .wrapper меню фиксированное с ссылками на id и блоки высотой в 100vh.
Если для wrapper задать overflow:hidden то амимированный скролл не работает .
Как при overflow:hidden; сделать плавный скролл к якорю + preventDefault

Источник проблемы : https://jsfiddle.net/lenskyuser/ztzyj9fh/18/
  • Вопрос задан
  • 75 просмотров
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
Вместо body анимируйте .wrapper:

$('.vertical').on('click', 'a', function(e) {
  e.preventDefault();

  const id = $(this).attr('href');
  const $wrapper = $('.wrapper');
  const offset = $(id).offset().top;
  const scrollTop = offset + $wrapper.scrollTop();
  $wrapper.animate({ scrollTop }, 1500);
});
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы