2010-11-22 272 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")});