2011-09-23 183 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.