也許這個問題很令人困惑,但讓我給你舉個例子,當我點擊切換寬度的按鈕時,按下按鈕後 div 會繼續以動畫方式顯示,看起來並不令人驚奇。我想要的是 div 中途停止並轉到另一條路,並且當再次按下按鈕時不完成其現有動畫。
$(document).ready(function() { $('.menuToggle').click(function() { $(".menuContainer").animate({ width: 'toggle' }); }); });
.menuContainer { height: 100px; width: 50px; float: left; position: relative; background-color: black; display: none; }
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <div class="menuContainer"> <!-- Menu Items --> </div> <h4 class="menuToggle">Show Menu</h4>
這是小提琴,這樣你就可以明白我在說什麼。嘗試向「顯示選單」按鈕發送垃圾郵件。
https://jsfiddle.net/x14usdga/5/
非常感謝您的幫助,我到處都找過了,但似乎找不到任何關於我的問題的資訊。
您可以在執行動畫之前檢查元素是否沒有動畫
https://api.jquery.com/is/
#https://api.jquery.com/animated-selector/
您可以使用
.stop()
#方法。試試這個