我正在使用 jquery 切换功能,如下所示:
$(".class").toggle(
功能() {
//要做的事情...动画等等
},
功能(){
//其他要做的事情...
}
);
现在,当我经常通过单击调用切换效果时,两个函数的动画不会等待另一个函数完成。所以我想禁用切换效果,直到每个函数中的内容完成。因此,当通过切换调用第一个函数时,第二个函数不应通过再次单击 .class 元素来调用。反之亦然
知道我该怎么做吗?
提前致谢, 菲尔
最佳答案
您可以添加 .click()
处理程序绑定(bind)在执行此操作的切换之前,例如:
$(".class").click(function() {
if($(".selector:animated").length)
return false;
}).toggle(function() {
//things to do... animations and so on
}, function(){
// other things to do...
});
它的作用是检查您的选择器和 :animated
找到任何元素(它们仍在动画),它会返回 false
并阻止 .toggle()
处理程序甚至不会被击中。这是可行的,因为事件处理程序按照它们绑定(bind)的顺序执行,因此如果第一个返回 false
,第二个将不会运行。
关于javascript - Jquery - 使用toggle(),但在动画完成之前禁用它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3543166/