2012-09-04 25 views
1

我有一個包含n個元素的包裝。我想避免每個元素都添加一個Click函數,而是使用一個循環。這怎麼能實現?scrollTo創建索引的循環

$("#wrapper .nav a.nav-1").click(function() { 
    $('#wrapper').scrollTo('#item1', 1000); 
    return false; 
}); 

$("#wrapper .nav a.nav-2").click(function() { 
    $('#wrapper').scrollTo('#item2', 1000); 
    return false; 
}); 
$("#wrapper .nav a.nav-3").click(function() { 
    $('#wrapper').scrollTo('#item3', 1000); 
    return false; 
}); 

回答

0

這個怎麼樣?

$("#wrapper .nav a").each(function(i, el){ 
    $(el).click(function() { 
     $('#wrapper').scrollTo('#item' + (i+1), 1000); 
     return false; 
    }); 
}) 
+0

如果你要這樣做,至少要抓住類名,找到以「nav''開頭的類並解析出數字。 – Ariel

+0

它的工作,謝謝! – Francesco

0
function warp(num) { 
    $("#wrapper .nav a.nav-" + num).click(function() { 
    $('#wrapper').scrollTo('#item' + num, 1000); 
    return false; 
    }); 
} 

假設我理解你。你需要更多地練習英語。

+0

對於非本地(可能是初學者)英語的人來說,這是可以理解的。也許OP使用SO來改進和練習英語 –

+0

@barts你在看原始的還是編輯過的版本?我只能通過閱讀代碼來了解他。我根本聽不懂英語。 – Ariel

+0

我正在看原文。沒有問題,但這可能是因爲英語也不是我的母語,我習慣與亞洲英語的人交流 –