jquery 웨이 포인트 플러그인을 사용하여 동적으로 내 페이지의 배경을 변경하려고합니다 (요소가 뷰포트의 상단 또는 하단에 있음을 알려줍니다). 내 HTML은 간단합니다 - ID가 #part1',
# part2 '인 여러 표제가있는 등등. part[x]
이 뷰포트의 맨 위에 있으면 img[x]
이 표시됩니다.jQuery for 루프 전환 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