このコードを実行すると、「#right」をクリックするたびに、#slide が 1 ではなく 2 ずつ増加します。たとえば、合計 6 つの要素がある場合、1 番目、3 番目、5 番目の要素を取得します。
var present=2;
var total_slide=document.getElementById("slider").childElementCount;
$("#right").click(function()
{
for(i=1;i<=total_slide;i++) {
$("#slide"+i).css("display","none"); // hide all elements
}
$('#slide'+present).css("display","block"); // the problem : display
// only the present element
// (gets incremented by 2 )
present=(present+1)%total_slide;
});
ただし、たとえば、('#slide'+present) の代わりに ('#slide'+2) に 1,2,3 などを使用すると、正しい結果が得られますが、これを動的に実行したい..
ありがとう