是否可以在两个不同的值之间更改当前运行的jQuery动画的duration
?
我尝试通过直接赋值来更改duration
,但没有成功:
var timing = { duration: 4000 };
$(document).click(function (e) {
timing.duration = 1000;
});
$('#foo').animate({top:200, left:200}, timing);
即使在step
方法中更改fx.options.duration
也不会影响正在运行的动画:
var state = false,
$(document).click(function (e) {
state = true;
});
$('#foo').animate({top:200, left:200}, {
duration: 4000,
step: function(now, fx){
if(state) fx.options.duration = 1000;
console.log(fx.options.duration); // 1000
}
});
这里有一个可以玩耍的fiddle。
有什么想法如何做到这一点?