jqueryウェイポイントプラグイン(要素がビューポートの上部または下部にあることを通知する)を使用して、ページの背景を動的に変更しようとしています。私のHTMLは単純です-IDが#part1',
#part2'などの複数の見出しがあります。ビューポートの上部にある場合part[x]
は、表示したいですimg[x]
。
次のコードが機能します。
$("#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]");
}
});
}
しかし、繰り返しますが、機能していません。私が行ったように、角かっこでセレクターをエスケープすることは可能ですか?そうでない場合、これを達成するための正しい方法は何ですか?