我希望能够正确地解释自己。
我们有这样的东西(一个简单的例子):
$('#click').click(function() {
$('#a').animate({width: 'toggle'}, 1500);
$('#b').animate({width: 'toggle'}, 1500);
$('#b').animate({width: 'toggle'}, 1500);
});
现在,如果我在“#click”上点击几次,即使在效果完成之前,我的重复点击也会被添加在一起,并且该函数会执行多次(这是一件非常不愉快的事情,尤其是在使用“hover”时,因为你知道)。
但我希望仅在效果完成时才检测到点击。我该怎么办?
我阅读了有关 queue 的文档,但我不确定这在这种情况下是否有效。
我可以举一些例子吗?
谢谢。
最佳答案
尝试:
var isAnimating = $("#a").is(':animated');
当元素有动画时,上面的代码将返回 true。
关于jQuery:不添加更多点击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18682686/