我的頁面上有一排圖標,當用戶將鼠標懸停在他們身上時,我想創建一個波動畫效果。圖標行上的jQuery波動畫
我用這個基本的代碼對於初學者:
$('#icons > li')
.hover(function() {
$(this).animate({
'top': (-1 * hover_distance)
}, hover_speed);
}, function() {
$(this).animate({
'top': 0
}, hover_speed);
})
;
它看起來OK。但有一個問題:當你將光標瘋狂地移動到圖標上時,每個圖標的動畫隊列變得充滿了許多動作(上,下,上,下,上,下等),並且圖標正在上升,即使停止與圖標進行交互,也會減少很多次。
我希望我的圖標只能完成一個循環(上下),然後停止動畫。我正在尋找一個最優雅(簡單,輕便)的解決方案。你可以不使用stop(),因爲它可以防止「波浪效應」(即當你在圖標上移動一個快速劃線並且它們響應上下移動時,像一個真正的波)。
PPS:這裏的JS-小提琴: http://jsfiddle.net/nZqLy/3/
您可以將'hover'事件應用於未移動的父元素,然後爲其子元素設置動畫。 – f605dcf7dc5542e93ae9cd76f