0

で動作するカスタム アニメーションの試みbackground-positionです。

var i = 5;
while(i !== 0) {
  setTimeout(function() {
    $("#feedback-toad").css("height","+=50");
    $("#feedback-toad").css("background-position", "50% "+i*(-20)+"%");
  }, 1000);
  i = i - 1;
}

それは最終結果に関して機能します-最終的に要素は私が望むように見えます。

しかし、それはアニメーションのようには見えず、即座に発生します - 遅延 (タイムアウト) が機能しないようです。

なんで?どうすれば修正できますか?

PSプラグインの提案は必要ありません-自分のコードでやりたいです。ありがとう。

4

1 に答える 1

1

すべてのコールバックを同時に実行するように設定しています (今から 1000 ミリ秒)。

1 秒あたり 1 つのアニメーションが発生するように、次のようにする必要があります。

var i = 5;
while (i !== 0) {
    setTimeout(function () {
        $("#feedback-toad").css("height", "+=50");
        $("#feedback-toad").css("background-position", "50% " + i * (-20) + "%");
    }, i * 1000);
    i = i - 1;
}
于 2013-09-08T22:03:03.450 に答える