我制作了一个定时功能,该功能在页面加载后会延迟9秒钟,然后再开始。但是,如果用户与它所影响的div交互,我希望取消它。这是我被调用的函数的代码。
function buttonchange4(){
$(".button4").css("backgroundColor","yellow").delay(3000).queue(function(next4){
$(".button4").css("backgroundColor","silver");
next4();
});
};
var buttonshow3;
$(document).ready(function(){
$(".button4").delay(9200).queue(function(nextoooo){
buttonchange4();
buttonshow3 = setInterval( buttonchange4, 12000);
nextoooo();
});
});
这是我停止该功能的代码。
$('.button4').click(function(){
$( ".button4" ).stop();
clearInterval(buttonshow3);
$('.button4').css("backgroundColor","yellow");
});
出于某种原因,经过3秒钟的延迟后,它仍将按钮的背景颜色更改为银色...似乎停止了延迟功能,直接跳到
buttonchange4();
如何停止此操作? 最佳答案
return;
中断并停止功能
如果您想打破TimeInterval,可以这样:
var i = setInterval(FunctionA, 1000);
clearInterval( i );
或者您可以使用
delay()
停止dequeue();
:$( ".button4" ).dequeue();