我有一个项目清单:
<ul>
<li><a href="#" id="Viewer1">click</a></li>
<li><a href="#" id="Viewer2">click</a></li>
<li><a href="#" id="Viewer3">click</a></li>
<li><a href="#" id="Viewer4">click</a></li>
<li><a href="#" id="Viewer5">click</a></li>
</ul>
每个ID附加了各种功能:
$j('#Viewer1').click(viewer1);
function viewer1() {
some code...
return false;
}
$j('#Viewer2').click(viewer2);
some code...
return false;
}
$j('#Viewer3').click(viewer3);
function viewer3() {
some code...
return false;
}
$j('#Viewer4').click(viewer4);
function viewer4() {
some code...
return false;
}
$j('#Viewer5').click(viewer5);
function viewer5() {
some code...
return false;
}
我想要做的是使用jQuery循环每个id并在特定的时间间隔内调用适当的函数。
首先,调用Viewer1(),比如说4秒,然后调用Viewer2(),依此类推---循环回Viewer1()并重新开始。我希望这是有道理的。
感谢。
答案 0 :(得分:0)
您可以使用setInterval
:
var interval, lastCalled = $j('#Viewer1').parent().siblings().last().find('a');
function doStuff () {
var next = lastCalled.parent().next().find('a');
if (!next.length) {
next = lastCalled.parent().siblings().eq(0).find('a');
}
//console.log(lastCalled,next);
next.click();
lastCalled = next;
}
interval = setInterval(doStuff,4000);
doStuff();
编辑:这不完全是我想的,我想,它是由元素的位置来做的。如果这是一个严格的要求,将其更改为ID并不会太难。