我有一个li
,有6个链接。每个链接触发图像的更改并通过AJAX获取内容以显示在页面上的元素中。每个链接都有一个唯一的id
。 (例如“linkFirstSlide”,“linkSecondSlide”等)
是否可以设置5秒的计时器,每次迭代触发下一个li
链接的点击?
所以说在页面加载时会触发$("#linkFirstSlide").click()
,然后在5秒后触发$("#linkSecondSlide").click()
直到它结束,然后再返回到开头。
我正在尝试构建旋转木马而不使用旋转木马插件,因为我需要在每次点击时执行大量操作。
干杯
答案 0 :(得分:2)
您可以尝试这样的事情:
// When DOM is ready
jQuery(function($){
// Select our links
var $links = jQuery("#linkFirstSlide, #linkSecondSlide, ...");
var iCurrentLink = 0;
(function clickNextLink(){
// Click on current link
$links.eq(iCurrentLink).click();
// Prepare for next one in 5 seconds
iCurrentLink += 1;
iCurrentLink %= $links.length;
setTimeout(clickNextLink, 5000);
})();
});
我还写了plugin that makes it easier to write asynchronous loops,但jQuery插件网站目前处于离线状态。
答案 1 :(得分:0)
就在我的脑海中,你可以试试这个:
var links = ['#linkFirstSlide', '#linkSecondSlide'];
var max = links.length;
var current = 0;
function slide(){
var cur = $(links[current]).trigger('click');
current++;
if(current>=max)
current = 0;
}
setInterval(slide,5000);