簡體   English   中英

等待 for 循環中的 animation 完成

[英]wait for animation in for loop to finish

我想使用 for 循環為一些對象設置動畫。 代碼如下所示:

for (var i = 0; i < 5; i++) {
    $('.el-' + i).animate({
        // code
    }, 5000);
}

如何使 for 循環等待動畫完成? 那可能嗎? 一次只能為一個元素設置動畫。

正如@AlainDoe 所提到的,您可以使用完整的回調來觸發下一個 animation,就像這樣。

const animateFunc = (i) => {
  $(".el-" + i).animate({ // code }, 5000, "swing", () => {
    if (i < 5) {
      animateFunc(i + 1);
    }
  });
};

// start the first animation
animateFunc(0);

將回調用作遞歸 function。

 const count = 5; function oneAtATime(i) { $('.el-'+ i).animate({ opacity: 'toggle' }, 1000, ()=>{if(i < count) oneAtATime(i+1)}); } oneAtATime(0);
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <div class="el-0">Zero</div> <div class="el-1">One</div> <div class="el-2">Two</div> <div class="el-3">Three</div> <div class="el-4">Four</div>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM