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 个动画:

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 回答