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, написанный Ариэлем Флезлером, если вы хотите анимировать прокрутку:

http://demos.flesler.com/jquery/scrollTo/

Примечание: если у вас включен chrome://flags/#enable-эксперимент-web-platform-functions, указанный выше плагин не будет работать. Это известная проблема: https://github.com/flesler/jquery.scrollTo/issues/92

Другие вопросы по тегам