2010-11-22 154 views
139

我的页面完成加载后。我希望jQUery很好地滚动到页面的底部,快速进行动画制作,而不是快速/颠簸。jQuery滚动到页面底部

难道我需要像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); 

这个卷轴在ID 'particularDivision'

0

JS

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

的在以前的答案中提到的脚本,如:

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

不会工作并将于Jumpy在Safari浏览器万一html标签在CSSoverflow: auto;属性集。我花了近一个小时才弄清楚。

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

此解决方案适用于我。它正在快速向下滚动页面。

1

你可以试试这个

var scroll=$('#scroll'); 
scroll.animate({scrollTop: scroll.prop("scrollHeight")});