另一位初学者 - 我自己提出的问题:
是否可以在.click(function)
正在进行[向上/向下滑动并执行一些id-switch]时禁用它?
我有一堆锚使用相同的功能,我不希望用户点击另一个链接,而仍然有一些slideUp / Down正在进行。为了获得这种效果,我必须在它正在进行时阻止它。
任何想法?
答案 0 :(得分:4)
您可以使用:animated
选择器检查您关注的任何元素当前是否正在设置动画,如下所示:
$("a.myClass").click(function() {
if($("a.myClass:animated").length) return false;
//animate/do stuff
});
在设置动画的任何a.myClass
元素时,点击将无效。
答案 1 :(得分:3)
你可以这样做:
$('some_selector').click(function () {
var running = false;
return function () {
if (running === false) {
running = true;
// do animation stuff;
// put this in your callback:
running = false;
}
return false;
};
}());
这会在running
等于true
时禁用动画。
答案 2 :(得分:0)
您可以在点击处理程序中设置布尔标志,并在动画结束时取消设置。
然后,在处理程序的顶部,如果设置了标志,则可以return false;
。
答案 3 :(得分:0)
查看:animated
选择器。如文档所述,它将返回当前正在进行的所有元素。如果您要检查的是特定元素,则可以使用它的ID或类以及此选择器来检查它的动画是否正在运行。
$("#myButton").click(function(){
if ($("#myDiv:animated").length === 0) {
// do awesome animation here
} else {
// brown explosions! Dumbledore dies, so does Hedwig!
return false;
}
});