jQuery scrollTop не прокручивает
У меня проблемы при попытке прокрутки автоматически с помощью JavaScript. Моя область прокрутки - это тело, мой код js -
$("body").animate({scrollTop: $("#myDiv").position().top)
но я не получаю никакого результата: без анимации и прокрутки
$("body").scrollTop($("#myDiv").position().top);
а также замена
$("body") with $(window).
Любой намек?
4 ответа
scrollTop
является методом jQuery, который получает или устанавливает смещение текущей полосы прокрутки элементов, но без анимации.
Вы можете запутаться с плагином jQuery scrollTo
, который предлагает функциональность, которую вы после.
Вы бы использовали это как;
$(window).scrollTo($('#myDiv');
Попробуйте следующий код,
$('html,body').animate({scrollTop: $("#myDiv").offset().top},500);
scrollTop
является атрибутом javascript, и вы можете использовать его следующим образом:
document.body.scrollTop = scrollValue;
или же
$("body").get(0).scrollTop = scrollValue;
и есть плагин с именем jQuery ScrollTo, написанный Ариэлем Флезлером, если вы хотите анимировать прокрутку:
Примечание: если у вас включен chrome://flags/#enable-эксперимент-web-platform-functions, указанный выше плагин не будет работать. Это известная проблема: https://github.com/flesler/jquery.scrollTo/issues/92