0

コンテンツのアニメーションをDIV最初にフェードアウトさせてから、このフェードアウトステージで停止し、フェードインをキューに入れて、.dequeue()コンテンツを動的に(おそらくajaxを介して)ロードした後で呼び出すことができるようにしようとしています。

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

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

  1. フェードアウトはすぐに発生し、1秒間フェードアウトしません。
  2. このstop()関数は、アニメーションが単純に実行されるものを停止しません。

私は何が欠けていますか?

4

1 に答える 1

0

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

$content.fadeTo(1000,0.0)1秒でdivがフェードアウトします(必要に応じて使用できます.fadeOut(1000))。

次に、何をするのか.delay()は、指定したミリ秒単位で後続のアニメーションを実行することです。

$content.fadeOut(1000).delay(300).fadeIn();1秒間続くアニメーションでdivをフェードアウトし、300ミリ秒待ってから、divをフェードインします。

これまでのところ良いですが.stop()、一致した要素でアニメーションを停止するので、fadeTo実行されず、キューに入れられません。次に、.fadeTo(1000, 1)(と同等.fadeIn(1000)の)divを実行すると、divはすでに表示されているため、何も実行されません。

私はあなたがすることをお勧めします:

$content.fadeOut(1000);

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

ただし、アニメーションをキューに入れたい場合は.queue()dequeue()

于 2012-04-11T03:38:56.883 に答える