2010-07-12 171 views
6

我有一長串嵌套的div。我在查詢字符串中傳遞特定元素的ID(實際上是一個段落元素),並打開它的div和父onload。但是,列表太長了,有時打開的元素隱藏在窗口底部的下方。滾動到特定的元素w/jQuery

如何自動滾動用戶的瀏覽器窗口,以便顯示的元素位於屏幕的頂部?

你可能不需要這個,但備案...我的名單看起來是這樣的:

<div id="div1"> 
    <p id="1"></p> 
    <div>stuff</div> 
    <p id="2"></p> 
    <div>stuff</div> 
    <p id="3"></p> 
    <div>stuff</div> 
</div> 
... 
<div id="divN"> 
    <p id="997"></p> 
    <div>stuff</div> 
    <p id="998"></p> 
    <div>stuff</div> 
    <p id="999"></p> 
    <div>stuff</div> 
</div> 
+3

它是無效的以數字開頭關於IDS。 – user113716 2010-07-12 19:34:25

+4

是啊...這不是實際的代碼。 :P – Bryan 2010-07-12 20:49:42

回答

12

你可以使用scrollIntoView功能。

$(document).ready(function() { 
    $('#divN').get(0).scrollIntoView(); 
}); 
+1

這是要跨瀏覽器工作嗎? – 2010-07-12 19:33:05

+0

對這個答案+1,但要注意的是,如果目標已經在視圖中,它不會滾動。 @Russ--據我所知,這被廣泛支持。 – user113716 2010-07-12 19:38:19

+0

@Russ:我不這麼認爲,否則這將是一個非常不錯的功能。但我真的覺得這聽起來很好,是真的。如果其交叉瀏覽器,Resig&jQuery核心團隊將實施它。 – jAndy 2010-07-12 19:39:27

6

的jQuery:

$(document).ready(function(){ 
    $(document.body).scrollTop($('#divN').offset().top); 
});