2012-04-11 9 views
0

私のコンテンツのアニメーションを最初にフェードアウトさせようとしています。この段階でフェードアウトしてフェードインするだけです。.dequeue()コンテンツを動的に(おそらくajaxを通して)読み込んだら後で呼び出されます。すぐに起こるフェードアウト私のjQuery/Effects/.delay()&.stop()の機能

  1. と1秒間フェードしていません -

    $content.fadeTo(1000,0.0).delay(1000).stop().fadeTo(1000, 1) 
    

    は、私は2つの問題を抱えています。

  2. stop()機能は何も停止しません。アニメーションは単にまっすぐに実行されます。

何が欠けていますか?

答えて

0

問題がいくつかあります:

$content.fadeTo(1000,0.0)は(あなたがしたい場合は、.fadeOut(1000)を使用することができます)1秒であなたのdivをフェードアウトします。その後

は、何.delay()デイリーあなたが提供ミリ秒subsecuentアニメーションの実行であるので、あなたは

$content.fadeOut(1000).delay(300).fadeIn();を行う場合は、その後、1秒持続するアニメーションのdivをフェードアウト300ミリ秒待ってます

これまでのところ、.stop()は一致する要素のアニメーションを停止しているので、fadeToは実行されず、キューの内容は失われます。その後、.fadeTo(1000, 1).fadeIn(1000)に相当)を実行すると、divは既に表示されているので、何もしません。

私はあなたがお勧めします。

$content.fadeOut(1000); 

//Later in the code 
$.ajax({ 
//... 
success: function() { 
    //code.. 
    $content.fadeIn(1000); 
}); 

しかし、あなたはアニメーションをキューにしたい場合は、.queue()dequeue()

を使用することができます