2012-01-12 106 views
0

我遇到了动画元素的错误。 当你在一个组上的right-click它的名称字段向下扩展 ,以便它与该行上的其他两个组一起显示。 然后动画在几秒钟后将其置于setTimeout()触发的默认状态 。 但是,如果您开始在 行上随机并集中地点击组,而无需等待当前动画完成,那么中断会变得越来越麻烦,并且执行得比给定的时间快得多!jQuery越野车setTimeout动画

下面的代码的关键部分:

var t = window.setTimeout(function() { 
    for (var i = highFrontier; i > lowFrontier - 1; i--) { 
     jQuery(groupBoxes[i]).animate({ 
     height: '76px' 
     }, 400, 'linear', function() {}); 
    } 
}, 3300); 

而这里的整个应用程序:http://jsfiddle.net/TTGr7/20/

10倍对你的帮助,BR

回答

1

您可以向要动画的对象添加一个类,并在动画完成后将其删除。然后,如果用户在拥有该类的同时单击该对象(并且正在忙于动画),则该系统将简单地忽略他的请求。

+0

10倍杰弗里应该工作我的脑海里真的在寻找更复杂的解决方案 – kidwon 2012-01-12 21:27:22

0

我怀疑你有复式事件堆砌。我没有在你的代码中看到它,但是你在处理区域中的元素上是否有点击事件?

我已经进入的一个hapbit是将.stop()添加到事件注册,以确保先前的事件/动画在另一个开始之前停止。例如,

.stop().animate(....) 
+0

我试过这个没有帮助它仍然加速 – kidwon 2012-01-12 21:10:09