2012-05-05 70 views
1

我有这个功能,我写的是应该显示通知:为什么jQuery fadeIn()无法正常工作?

function newNotification(message) { 
    window.clearTimeout(window.tid); 
    $("#notify").stop().prepend(message + '<br/>').fadeIn(400, function() { 
     window.tid = window.setTimeout(function() { 
      $("#notify").fadeOut('3000', function() { 
       $("#notify").html(''); 
      }); 
     }, 3000); 
    }); 
} 

的问题是,如果我通过,而另一个通知淡出#notify DIV不褪色早在其不透明度得到卡在0和1之间。

任何人都可以请帮忙吗?

+0

你是否尝试过使用'.stop(1)'或者'jump-to end'来清除队列:'.stop(1,1)'? –

+0

为什么你的整个函数中都有.stop()?这可能是您在传递另一个通知时暂停动画的部分。 –

+0

@ RokoC.Buljan .stop(1)不起作用,并停止(1,1)不做我需要的。我需要动画来停止它并继续从那里淡入。 – Sorin

回答

2

好吧,所以我终于弄明白了。 FadeIn()只适用于元素被隐藏的情况,这就是为什么当不透明度介于0和1之间时它会卡住。

我只需要用FadeTo()替换FadeIn()就可以了。

感谢您的帮助!