我有这个jquery代码。这是一种具有淡化效果的幻灯片。所以它循环......这是第一个代码
$(document).ready(function(){
function looptour(){
$("#health").hide();
$("#billing").hide();
$("#pension").delay(6000).fadeOut(2000);
$("#health").delay(6000).fadeIn(2000).delay(6000).fadeOut(2000);
$("#billing").delay(14000).fadeIn(2000).delay(6000).fadeOut(2000);
$("#pension").delay(14000).fadeIn(2000,looptour);
}
looptour();
});
我的问题是如何停止在第一个代码onclick事件中看到的循环?然后在点击该事件后,将继续新的循环,依此类推......
这是新代码,
$("#tournums").click(function(){
function billingloop(){
$("#health").hide();
$("#pension").hide();
$("#billing").delay(6000).fadeOut(2000);
$("#pension").delay(6000).fadeIn(2000).delay(6000).fadeOut(2000);
$("#health").delay(14000).fadeIn(2000).delay(6000).fadeOut(2000);
$("#billing").delay(14000).fadeIn(2000,looptour);
}
billingloop();
});
非常感谢jquery大师帮我解决了我的这个问题。
答案 0 :(得分:1)
我最好的猜测是使用.clearQueue()
:
function stopLoop() {
$("#pension").clearQueue();
$("#health").clearQueue();
$("#billing").clearQueue();
}
// snip //
$("#tournums").click(function(){
stopLoop();
function billingloop(){
$("#health").hide();
$("#pension").hide();
$("#billing").delay(6000).fadeOut(2000);
$("#pension").delay(6000).fadeIn(2000).delay(6000).fadeOut(2000);
$("#health").delay(14000).fadeIn(2000).delay(6000).fadeOut(2000);
$("#billing").delay(14000).fadeIn(2000,looptour);
}
billingloop();
});