Jquery每隔x秒运行一次点击function
我有以下jQuery
jQuery(function(){ jQuery('.link1').click(function(){ jQuery('.hide-div').hide(); jQuery('.toggle1').show(); jQuery('#arrow').css({top: '0px'}); }); jQuery('.link2').click(function(){ jQuery('.hide-div').hide(); jQuery('.toggle2').show(); jQuery('#arrow').css({top: '42px'}); }); jQuery('.link3').click(function(){ jQuery('.hide-div').hide(); jQuery('.toggle3').show(); jQuery('#arrow').css({top: '84px'}); }); jQuery('.link4').click(function(){ jQuery('.hide-div').hide(); jQuery('.toggle4').show(); jQuery('#arrow').css({top: '125px'}); }); jQuery('.link5').click(function(){ jQuery('.hide-div').hide(); jQuery('.toggle5').show(); jQuery('#arrow').css({top: '166px'}); }); jQuery('.link6').click(function(){ jQuery('.hide-div').hide(); jQuery('.toggle6').show(); jQuery('#arrow').css({top: '207px'}); }); }); jQuery(function(){ jQuery("#toggle-links ul > li > a").click(function(e){ e.preventDefault(); jQuery("#toggle-links ul > li > a").addClass("selected").not(this).removeClass("selected"); }); });
并且需要添加一个函数,它将按顺序运行click1,link2,link3 …每3秒一次,直到它到达link6然后它将循环回到link1并且如果用户将鼠标hover在具有id的div上#holder函数将停止运行直到mouseout。 我有点难过这样做,有什么想法吗?
尝试:
var interval = null; jQuery(function(){ interval = setInterval(callFunc, 3000); }); function callFunc(){ jQuery('.link1, .link2, .link3').trigger('click'); }
任何时候您都可以通过调用来停止自动点击:
clearInterval(interval);
要按顺序调用它们,您可以像这样修改代码:
jQuery('.link1').click(function(){ jQuery('.hide-div').hide(); jQuery('.toggle1').show(); jQuery('#arrow').css({top: '0px'}); // click link2 jQuery('.link2').trigger('click'); }); jQuery('.link2').click(function(){ jQuery('.hide-div').hide(); jQuery('.toggle2').show(); jQuery('#arrow').css({top: '42px'}); // click link3 jQuery('.link3').trigger('click'); });
这可能有所帮助: