現在実行中のjQueryアニメーションのduration
を2つの異なる値に変更することはできますか?アニメーション中にjQueryのアニメーションの時間を変更する
私が直接割り当て、ない成功を経てduration
を変更しようとしました:
var timing = { duration: 4000 };
$(document).click(function (e) {
timing.duration = 1000;
});
$('#foo').animate({top:200, left:200}, timing);
...とさえ、fx.options.duration
step
で-methodを変更すると実行しているアニメーションには影響しません:
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があります。 どのようにこれを行うことができますか?
jQuery 2.0からjQuery> = 1.7.2に切り替えると、多少なりとも機能します。アニメーション関連の機能についてjQueryチームが行った最近の変更に関係していると思います。 – Mahn
@Mahnええ、ありがとう!私はそれに気づいた...私は今中心になって、それをいかにして作り出すかを考えよう! – yckart