2010-08-18 55 views
1

如果我有兩個臺班,像這樣jQuery的scrollTo n個子

<div class = "link 1"></div> 
<div class = "link 2"></div> 
<div class = "link 3"></div> 
.... 
<div class = "link x"></div> 

<div class = "target 1"></div> 
<div class = "target 2"></div> 
<div class = "target 3"></div> 
.... 
<div class = "target x"></div> 

我怎樣才能獲得的第n個link到使用jQuery scrollTo頁面滾動到第n target ? 動態生成類1,2,3 ....。

謝謝。

+1

當每個節點使用不同的標識符時,語義上你應該使用'id',而不是'class'。 'class'用於共享類似屬性的元素組。 'id'用於識別單個節點,這就是你用'class'所做的。 – 2010-08-18 11:15:21

+1

我不同意......在這種情況下,具有類似類別的div具有類似的屬性。 – Topera 2010-08-18 11:17:51

+0

是的,我知道,這不是「完整」的代碼。它還包含其他生成的類和ID。 – pixeltocode 2010-08-18 11:19:28

回答

2

你可以做它關閉基於.index(),這樣的事情:

$("div.link").click(function() { 
    var target = $("div.target").eq($(this).index("div.link")); 
    $.scrollTo(target); 
}); 

它使用.index(selector)超載得到哪個環節我們點擊,那麼它得到div.target組找到目的地的同一指標使用.eq()

注:如果有其他<div>元素與類targetlink需要所以他們只搜索你在批處理這裏調整的選擇,否則,指數可能會關閉。

+0

太棒了!萬分感謝。 – pixeltocode 2010-08-18 11:42:13