jQuery動畫的hover連續觸發動畫bug處理

2022-07-12 01:06:11 字數 698 閱讀 8678

一、問題

為元素設定hover上實現動畫的效果,當滑鼠反覆快速進入元素時,動畫會在滑鼠停止後依然執行,導致動畫和滑鼠的動作不一致。

二、解決方法

要解決這種問題,可以使用jquery的stop()方法。

stop([clearqueue],[gotoend]):

有兩個引數:

第乙個引數[clearqueue]: 決定是否清除佇列,設定為true,則清空佇列,立即結束動畫;

第二個引數[gotoend]: 決定當前正在執行的動畫是否立即完成,設定為true,則完成佇列,立即完成動畫。

三、**

源**:

$(".layer").hover(function

(),500);

},function

(),500);

});

如果快速重複把滑鼠移入移出該元素,就會產生"動畫積累",滑鼠停止移動後,積累的動畫還會繼續執行,直到執行完畢。

解決後的**如下:

$(".layer").hover(function

(),500);

},function

(),500);

});

也可以將第二個引數設定為true,讓動畫達到最後狀態。

$(this).stop(false,true).animate(,500);

jQuery中的hover事件

在我們之前學習前端的過程中了解到了很多 的作用,特別是js中所使用的方法,我之前也介紹過很多實用的js方法,今天要給大家介紹的是jquery中的乙個比較特殊的乙個方法 hover 先前說過,我們在程式設計的時候最不想看到的結果是方法效果實現了,但是 量卻出乎意料的繁雜 量大,所以在寫 的時候通常會使...

基於jQuery的連續hover觸發重複動畫

當我們設定hover實現動畫效果的時候,我們把滑鼠快速反覆在目標元素移來移去,會發現滑鼠最後離開後,動畫依然在進行很多次,有時會導致動畫錯亂。之所以會出現這種情況,是因為我們每次觸發hover時都會執行一次動畫,當我們來回這樣快速移動到目標元素上時並反覆操作,這時會導致動畫重複多次,而由於我們移動到...

jquery動畫順序執行 JQuery動畫佇列詳解

jquery動畫存在乙個佇列,當在jquery物件上呼叫動畫方法時,如果物件正在執行某個動畫效果,那麼會把後面的動畫效果,放在乙個佇列裡面,然後按順序執行動畫佇列裡面的每乙個動畫。box.hide 1000,function box.show 1000,function box.fadeout sl...