7

div「dMyDiv」を検討してください

jqueryでアニメーション化できることに気付いたので、次のようにします。

$( "#dMyDiv").animate({
         backgroundColor: "#aa0000"
  }, 1000 );

私のdivに赤のような色の背景をもたらします。しかし、10秒後にdivの通常の白い背景に戻る方法はありますか? コールバック関数があるようですが、アニメーションを開始できるかどうかはわかりません。アニメーションが完了すると、通常の背景 (アニメーションの前) に戻ります。私はこれを行う必要があります:

 $( "#dMyDiv").animate({
             backgroundColor: "#aa0000"
          }, 1000, function() {
           $(#dMyDiv").animate({ backgroundColor: "#fff" }, 1000);
          };
);

赤いアニメーションの後、再び白いアニメーションにするという意味ですか?

4

3 に答える 3

7

あなたが正しい。3 番目のパラメーターは、アニメーションが完了すると実行される関数です。

$("#dMyDiv").stop().animate({backgroundColor:'#aa0000'},1000,function(){
    $(this).animate({backgroundColor:'#fff'},1000);
});
于 2012-04-24T23:52:59.923 に答える
3

setTimeout を使用できます。

$("#dMyDiv").stop(true, true).animate({

    backgroundColor: "#aa0000"

}, 1000, function() {

   setTimeout(function() {       

       $(#dMyDiv").animate({ 

           backgroundColor: "#fff" 

       }, 1000);

   }, 10 * 1000);

});
于 2012-04-24T23:56:48.860 に答える
1

私はこの人たちと一緒にそれを行うことができました:

http://jsfiddle.net/aN7qz/

コードは次のとおりです。

$( "#myDiv").animate({ 
             backgroundColor: "#aa0000" 
          },
             1000, 
             function() { 
                 $("#myDiv").animate({ backgroundColor: "#fff" }, 1000);
             }
                     );
于 2012-04-24T23:57:59.763 に答える