2012-05-05 21 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)'や '.stop(1,1)'のような 'jump-to end'を使ってキューをクリアしようとしましたか? –

+0

なぜあなたはあなたの関数全体に.stop()を持っていますか?おそらく、別の通知を渡すとアニメーションを一時停止する部分です。 –

+0

@ RokoC.Buljan .stop(1)は動作せず、stop(1,1)は必要な処理を行いません。私はそれがどこに停止し、そこからフェードインを続けるアニメーションが必要です。 – Sorin

答えて

2

私は最終的にそれを理解することができました。 FadeIn()は、要素が隠されている場合にのみ機能します。そのため、不透明度が0と1の間で固まってしまうのです。

FadeIn()FadeTo()に置き換えるだけで問題なく動作しました。

ご協力いただきありがとうございます。

関連する問題