jquery animate“onstart” - 理论

时间:2012-08-02 17:56:07

标签: jquery jquery-animate

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

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

我该怎么办?

4 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:1)

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

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

答案 2 :(得分:1)

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

这会将元素带到先前运行的动画的结束状态。

下面

第一个属性是清除队列

第二个属性是跳到结尾。

答案 3 :(得分:1)

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

$('.box').animate({left:100},{
    duration:500,
    start:function(){
        console.log('start');
    },
    complete:function(){
        console.log('end');
    }
});