我想動態改變我的頁面的背景使用jquery航點插件(它告訴你什麼時候一個元素是在視口的頂部或底部)。我的HTML很簡單 - 我有多個標題,標識爲#part1',
#part2'等,等等。當part[x]
位於視口的頂部時,我想要顯示img[x]
。jQuery的循環切換ID
下面的代碼工作:
$("#part2").waypoint(function(event, direction) {
if (direction === 'down') {
$(".container").attr("id", "img2");
}
else {
$(".container").attr("id", "img2");
}
});
但是,我有18個「部分」,我不希望這個代碼的18倍。我試圖用一個for
循環 這樣的:
var chapters = $("[id^='part']");
for (var i=1; i<=chapters.length; i++){
$("#part[i]").waypoint(function(event, direction) {
if (direction === 'down') {
$(".container").attr("id", "img[i]");
}
else {
$(".container").attr("id", "img[i]");
}
});
}
但同樣,不能正常工作。是否有可能像我所做的那樣用方括號將選擇器轉義出來?如果不是,那麼實現這個的正確方法是什麼?
我很困惑你爲什麼要執行一個if/else,對於這兩個條件都有相同的動作 – Popnoodles
@popnoodles是的,這是多餘的,但是當我還在編寫代碼時,我只是想要選項如果用戶正在向上滾動或向下滾動,則具有單獨的條件。 – Jascination
以及如何更改.container的ID最終顯示不同的圖像? – Alnitak