関数の呼び出しの一環としてjQuery
animate
、アニメーションを防止したい場合があります。関数の一部としてanimate
、アニメーションを防止する方法はありますか? 物件before
とか?
私はこのようなことをしたいと思います:
$('#myMovingDiv').animate(
{
before: // RUN A FUNCTION, IF FUNCTION RETURNS TRUE, CANCEL ANIMATION
left: '+=100'
}
, 1000, function(){});
以下のコメントに対処するために、アニメーションの前に を実行することはできませんif
。なぜなら、アニメーションは の値を変更し、if
アニメーションが完了していない場合、if
条件が満たされないからです。例 -
//THIS WILL NOT WORK IF ANIMATION IS NOT FINISHED BEFORE 2ND CLICK
$("#myClickableDiv").click(function () {
if (document.getElementById(myMovingDiv').offsetLeft == 0) {
$('#myMovingDiv').animate({
left: '+=850'
}, 400, function () {
// Animation complete.
});
};
});