我有这个message();功能:
function message(kind, text){
if(fadeOutDelay != undefined){
clearInterval(fadeOutDelay);
}
$("#message").show();
$("#message").attr('class',kind);
$('#message').text(text);
var fadeOutDelay = setInterval(function(){
$("#message").fadeOut(2000);
},10000);
}
Run Code Online (Sandbox Code Playgroud)
问题是我正在尝试清除重新运行该功能的时间间隔,以防止最新消息的淡入淡出.我希望能够继续发出消息,如果它们彼此间隔10秒,则不会发生淡入淡出.基本上,如果setInterval在运行此功能时发生,我想取消它.
fadeOutDelay不在其他函数调用的范围内.您可以使用全局变量:
var fadeOutDelay;
function message(kind, text){
if(fadeOutDelay != undefined){
clearInterval(fadeOutDelay);
}
$("#message").show();
$("#message").attr('class',kind);
$('#message').text(text);
fadeOutDelay = setInterval(function(){
$("#message").fadeOut(2000);
},10000);
}
Run Code Online (Sandbox Code Playgroud)