Javascript Jquery.delay().fadeOut取消/清除队列。。可能吗?怎么用?

Javascript Jquery.delay().fadeOut取消/清除队列。。可能吗?怎么用?,javascript,jquery,delay,Javascript,Jquery,Delay,我需要一些帮助。。 是否可以取消链接延迟 Mn.Base.TopBox.show = function(timedur){ $('#element').fadeIn().delay(timedur).fadeOut(); } Mn.Base.TopBox.cancelFadeout = function(){ } 我读了关于排队的书,尝试了一些不同的方法,但没有成功 $('#element').stop(); $('#element').queue('fx',

我需要一些帮助。。 是否可以取消链接延迟

Mn.Base.TopBox.show = function(timedur){
    $('#element').fadeIn().delay(timedur).fadeOut();
}


Mn.Base.TopBox.cancelFadeout = function(){

}
我读了关于排队的书,尝试了一些不同的方法,但没有成功

    $('#element').stop();

    $('#element').queue('fx', []);

提前感谢,

Pedro

它不是,也不能很好地处理其他任何事情,因为计时器一直在滴答滴答地响,并且在它启动时执行a…不管你是否清除了队列并添加了一个全新的队列

如果要取消,最好直接使用
setTimeout()
,例如:

Mn.Base.TopBox.show = function(timedur){
  $('#element').fadeIn(function() {
    var elem = $(this);
    $.data(this, 'timer', setTimeout(function() { elem.fadeOut(); }, timedur));
  });
}

Mn.Base.TopBox.cancelFadeout = function(){
  clearTimeout($('#element').stop().data('timer'));
}
这样做的目的是设置计时器并使用存储,当记录动画时,我们都会调用停止进程中的任何内容,并停止计时器

如果您非常快速地触发此操作,这里仍然存在潜在的问题,在这种情况下,您可能希望切换到存储一系列延迟,并清除所有延迟