2012-11-08 173 views
0

如何確定文本標籤與單擊的元素匹配的元素索引號?滾動到元素

我有一個列表:

<ul> 
    <li data-cont="item one">this is one</li> 
    <li data-cont="item 2">this is second</li> 
    <li data-cont="one more">this is another one</li> 
</ul> 

... 

<div>item one</div> 

<div>item 2</div> 

<div>one more</div> 

當LIS的一個被點擊我的屏幕需要向下滾動到以後在頁面上匹配的DIV之一。

$('#li').click(function(){ 
    var scrollNow = $(this).attr('data-cont'); 
    $('html, body').animate({ 
     scrollTop: $( 

     // here I need to scroll down to the item by index... 

     ).offset().top 
    }, 500); 
}); 
+0

可能重複http://stackoverflow.com/questions/6677035/jquery-scroll-到元件) –

回答

1

獲取div的指標很簡單:

var index = $('div').filter(function(){ 
    return $(this).text().trim()==scrollNow} 
).index(); 

(我不使用:contains,因爲它可以匹配太多的div)

但我不明白你爲什麼要這個指數。

如果要滾動到div,您需要做的僅僅

var div = $('div').filter(function(){ 
    return $(this).text().trim()==scrollNow} 
); 
$('html, body').animate({ 
    scrollTop: div.offset().top 
}, 500); 
[jQuery的滾動到元素(的