jQuery動畫連續觸發、滯后反復執行解決辦法


jQuery中slideUp 、slideDown、animate等動畫運用時,如果目標元素是被外部事件驅動, 當鼠標快速地連續觸發外部元素事件, 動畫會滯后的反復執行,其表現不雅。

則解決辦法:

1、在觸發元素上的事件設置為延遲處理, 即可避免滯后反復執行的問題(使用setTimeout)

2、在觸發元素的事件時預先停止所有的動畫,再執行相應的動畫事件(使用stop)

jquery stop:

//語法結構     
$("#div").stop();//停止當前動畫,繼續下一個動畫  
$("#div").stop(true);//清除元素的所有動畫        
$("#div").stop(false, true);//讓當前動畫直接到達末狀態 ,繼續下一個動畫
$("#div").stop(true, true);//清除元素的所有動畫,讓當前動畫直接到達末狀態

本人一般推薦使用第二種方法 

$("#div").stop().animate({width:"100px"},100); 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM