2014-02-12 63 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

对不起,过了好一会儿我还没来得及尝试了这一点。但辉煌! :) 非常感谢! –