2014-02-12 43 views
5

如果您有與多個div在它的(如knockout.js),有時很難理解爲什麼一些元素是跳躍各地的頂級複雜的動畫和一些抽象的網頁,而動畫。調試播放jQuery的動畫以慢動作進行調試

一種方式是仰視對於其中的動畫設置的所有地方,並乘以動畫長度。這當然非常繁瑣。

問題

有一些不錯的骯髒的黑客顯示慢動作當前頁面的所有jQuery的動畫?

+0

我想你可以延長生命的方法和繁殖傳遞給它的速度參數,不要忘記重新初始化jQuery.fx.speeds –

回答

2

你可以擴展動畫的方法,如:

(!但持續時間可作爲選項屬性來傳遞的對象太多,你必須得處理這種情況)

;(function($) { 
    var slowingCoeff = 10; 
    $.fx.speeds = { 
     slow: slowingCoeff * 600, 
     fast: slowingCoeff * 200, 
     _default: slowingCoeff * 400 
    }; 
    var oAnimate = $.fn.animate; 
    $.fn.animate = function(prop, speed, easing, callback) {   
     if(typeof speed === "number") 
      speed *= slowingCoeff; 
     return oAnimate.call(this, prop, speed, easing, callback); 
    }  

})(jQuery); 

basic DEMO

+0

對不起,過了好一會兒我還沒來得及嘗試了這一點。但輝煌! :) 非常感謝! –