2010-11-22 4 views
139

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

Мне нужен плагин, например ScrollTo? или это встроено в jQuery каким-то образом?

ответ

314

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

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

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

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

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

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

$("html, body").animate({ scrollTop: $("#myID").scrollTop() }, 1000); 
+0

Вы можете проверочные скорость? И #ID это идет? – AnApprentice 2010-11-22 19:26:58

+0

@AnApprentice - Если вы хотите прокрутить до определенного ID, он будет выглядеть как `$ (" html, body "). Animate ({scrollTop: $ (" # myID "). ScrollTop()}, 1000);` for это займет одну секунду. – 2010-11-22 19:28:02

+2

Еще одна проблема, когда это кажется завершенным, а затем пользователь пытается взломать, немного заблокировав ее, и делает очень толковый эффект, не позволяя пользователю прокручивать – AnApprentice 2010-11-22 19:29:13

14

что-то вроде этого:

var $target = $('html,body'); 
$target.animate({scrollTop: $target.height()}, 1000); 
3
$("div").scrollTop(1000); 

Работы для меня. Прокрутка вниз.

8
$('html,body').animate({ scrollTop: 9999 }, 'slow'); 

Простой, как этот, высота 9999 страниц ... большой диапазон, поэтому он может достигать донизу.

3

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

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

этого свитков в ид 'particularDivision'

0

JS

var el = document.getElementById("el"); 
el.scrollTop = el.scrollHeight - el.scrollTop; 
0

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

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

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

0
$('#pagedwn').bind("click", function() { 
     $('html, body').animate({ scrollTop:3031 },"fast"); 
     return false; 
}); 

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

1

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

var scroll=$('#scroll'); 
scroll.animate({scrollTop: scroll.prop("scrollHeight")}); 
Смежные вопросы