在动画开始之前我需要分析我的元素以确保一切都在正确的位置。
我现在有这个工作,但问题是当你点击“动画”按钮太快时,事情就会失控。我不能指望用户耐心等待每个动画完成。
我该怎么办?
答案 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');
}
});