0

在动画开始之前,我需要分析我的元素以确保一切都在正确的位置。

我现在有这个工作,但问题是当你点击“动画”按钮太快时,事情就会变得不合适。我不能指望用户耐心等待每个动画完成。

我应该怎么办?

4

4 回答 4

2

在动画开始时禁用按钮,在动画完成回调时启用它。

于 2012-08-02T17:59:56.110 回答
1

在开始制作动画之前,您应该调用.stop(true)中断任何正在进行的和排队的动画。然后像现在一样重置元素并开始新动画。

如果它有帮助,.stop(true, true)只需跳转到动画的末尾,而不是将元素留在它们的开始/停止位置之间。

于 2012-08-02T17:57:59.227 回答
1

用于stop(true, true)清除队列并跳到最后。

这将使元素处于先前运行动画的结束状态。

这里

第一个属性是清除队列

第二个属性是跳转到结束。

于 2012-08-02T18:01:49.493 回答
1

.animation()有一个未记录的start选项,用它来进行分析

$('.box').animate({left:100},{
    duration:500,
    start:function(){
        console.log('start');
    },
    complete:function(){
        console.log('end');
    }
});
于 2013-09-04T08:28:14.700 回答