1
我試圖創建一個可擴展和可收縮的麪包屑類型系統。jquery動畫與nextAll
每個div都是在不同的點上動態創建的,並且可能包含有點冗長的數據。它可能有多達15個div,因此每個div在屏幕上浮動都會擴展到屏幕之外。正因爲如此,當它們被創建時,我會通過增加-700像素(-1400像素,-2100像素等)來爲每一個動畫。
.animate({left: '-700px'});
當它們被創建時,它們按預期堆疊起來。我的意圖是讓鼠標在懸停時向右滑動,並在鼠標離開時返回到起始位置。
問題是divs不會返回到它們最初「改變」的位置。它們只是作爲普通的浮標而不是摺疊的位置疊加起來。
有沒有人有處理這個問題的最佳方法的任何提示?
$(document).on({
mouseenter: function() {
$(this).nextAll(".selected").animate({
left: '100px'
});
},
mouseleave: function() {
$(this).nextAll(".selected").animate({
left: '0px'
});
}
}, ".selected");
下面我有斷碼的小提琴例子:
https://jsfiddle.net/9ke06pfz/
工作,謝謝,但有關如何防止搞亂,如果你快速左右滑動divs的任何提示? – spas2k
特別是在鼠標輸入和鼠標離開的情況下,這很困難。您可以檢查是否有任何元素具有動畫效果,如果有,則不啓動任何新的動畫。您可以使用動畫選擇器'$(':animated')'檢查動畫元素 – AtheistP3ace