jQuery прокрутить вниз страницы - PullRequest
176 голосов
/ 22 ноября 2010

После загрузки моей страницы. Я хочу, чтобы jQuery быстро прокручивал страницу вниз, быстро анимируя ее, а не щелкая.

Нужен ли мне для этого плагин типа ScrollTo? или это как-то встроено в jQuery?

Ответы [ 10 ]

379 голосов
/ 22 ноября 2010

Вы можете просто анимировать прокрутку вниз страницы, анимируя свойство scrollTop, плагин не требуется, например так:

$(window).load(function() {
  $("html, body").animate({ scrollTop: $(document).height() }, 1000);
});

Обратите внимание на использование window.onload (при загрузке изображений ... которые занимают высоту) вместо document.ready.

Чтобы быть технически правильным, вам необходимо вычесть высоту окна, но вышеприведенное работает:

$("html, body").animate({ scrollTop: $(document).height()-$(window).height() });

Для прокрутки доконкретный идентификатор, используйте его .scrollTop(), например:

$("html, body").animate({ scrollTop: $("#myID").scrollTop() }, 1000);
19 голосов
/ 22 ноября 2010

как то так:

var $target = $('html,body'); 
$target.animate({scrollTop: $target.height()}, 1000);
13 голосов
/ 03 декабря 2015
$('html,body').animate({ scrollTop: 9999 }, 'slow');

Как просто, высота страницы 9999 ... большой диапазон, чтобы он мог доходить до дна.

10 голосов
/ 15 сентября 2017

Вы можете попробовать это

var scroll=$('#scroll');
scroll.animate({scrollTop: scroll.prop("scrollHeight")});
8 голосов
/ 10 июля 2015
$("div").scrollTop(1000);

У меня работает.Прокрутка вниз.

3 голосов
/ 23 декабря 2015

Используя 'document.body.clientHeight', вы можете получить видимую высоту элементов тела

$('html, body').animate({
    scrollTop: $("#particularDivision").offset().top - document.body.clientHeight + $("#particularDivision").height()
}, 1000);

это прокручивается с идентификатором "specificDivision"

2 голосов
/ 23 октября 2016

Сценарии, упомянутые в предыдущих ответах, например:

$("body, html").animate({
    scrollTop: $(document).height()
}, 400)

не будут работать в Chrome и будут нервными в Safari в случае, если тег html в CSS имеет установленное свойство overflow: auto;.Мне потребовался почти час, чтобы понять.

1 голос
/ 12 июля 2018

Для jQuery 3: измените

$ (окно) .load (function () {$ ("html, body"). Animate ({scrollTop: $ (document) .height ()}, 1000);})

до:

$ (окно) .on ("load", function (e) {$ ("html, body)") .animate ({scrollTop: $ (document) .height ()}, 1000);})

0 голосов
/ 13 июля 2017
$('#pagedwn').bind("click", function () {
        $('html, body').animate({ scrollTop:3031 },"fast");
        return false;
});

Это решение сработало для меня. Оно работает в Page Scroll Down быстро.

0 голосов
/ 29 августа 2016

JS

var el = document.getElementById("el");
el.scrollTop = el.scrollHeight - el.scrollTop;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...