2011-09-23 121 views
3

如何向下滾動到一個div的第n個孩子滾動到一個div的特殊孩子。考慮這個代碼如何降低使用jQuery

<span id="click_me">Click me to scroll down to nth child</span> 

消息div有6個孩子。我要向下滾動到第三或第四子其人點擊「click_me」

注:童車動態添加。使用一些Ajax函數調用/ juggernaut推送通知。

<div class="messages" id="messages_212"> 
    <div class="message_container"> 
     <p><b>Sahil grover: </b>5</p> 
    <div> 
    <div class="message_container"> 
     <p><b>Sahil grover: </b>4</p> 
    <div> 
    <div class="message_container"> 
     <p><b>Sahil grover: </b>3</p> 
    <div> 
    <div class="message_container"> 
     <p><b>Sahil grover: </b>2</p> 
    <div> 
    <div class="message_container"> 
     <p><b>Sahil grover: </b>1</p> 
    <div> 

    <div class="message_container"> 
     <p><b>Sahil grover: </b>0</p> 
    <div> 
</div> 

回答

1

使用http://plugins.jquery.com/project/ScrollTo

插件網頁和文檔在:http://flesler.blogspot.com/2007/10/jqueryscrollto.html

//scroll to nth child 
var child = 3; 
$.scrollTo($(".message_container")[child]); 

//scroll to nth child 
var child = 3; 
$.scrollTo("#messages_212:nth-child("+child+")"); 
+0

着我使用ID而不是類此?我在這種情況下得到一個錯誤,即:targ是undefined [Break On This Error] var val = targ [pos]; –

+0

是的,'id'會的工作,我沒有把它,因爲你沒有在那裏任何IDS,閱讀文檔,有很多選擇 – MattoTodd

+0

我有一個NAA .. messages_212是id .. –

3

我不使用jQuery(或任何框架),但它很容易在純JavaScript中做:

d = document.getElementById('messages_212'); 
d.scrollTop = d.children[2].offsetTop; 
// children[2] for the third div, [3] for the fourth, etc.