我有一个动画菜单,但我想在动画发生时禁用点击。
<div></div>
<div></div>
<div></div>
$("div").click(function() {
$(this).animate({height: "200px"}, 2000);
return false;
});
但是,我想在事件发生时禁用所有按钮,并禁用单击的div。
我正在考虑在点击的div中添加一个类,并将点击仅放在没有该类的div上:
$("div").not("clicked").click(function() {
$(this).animate({height: "200px"}, 2000).addClass("clicked");
return false;
});
但这似乎不起作用(我认为它在逻辑上有效)?
任何帮助表示感谢。
干杯,
史蒂夫
答案 0 :(得分:15)
$("div").click(function() {
if (!$(this).parent().children().is(':animated')) {
$(this).animate({height: "200px"}, 2000);
}
return false;
});
答案 1 :(得分:0)
你可以这样做......
$(function() {
$("div").click(function() {
//check to see if any of the divs are animating
if ($("div").is(":animated")) {
alert("busy");
return;
}
//whatever your animation is
var div = $(this);
div.slideUp(3000, function(){ div.slideDown(1000); });
});
});
只要任何div当前没有动画,这将为点击设置动画。我很可能把所有这些div放在一个容器中,而不仅仅是简单地引用div,因为它可能会影响页面上的菜单,而不仅仅是菜单,
答案 2 :(得分:0)
如何离开点击的&lt; div&gt;动画发生后禁用?我已经为已被点击的div添加了一个类,但是执行以下操作似乎不起作用:
<div></div>
<div class="active"></div>
<div></div>
$("div").not('active').click(function() {
if (!$(this).parent().children().is(':animated')) {
$(this).animate({height: "200px"}, 2000);
}
return false;
});
我怀疑我错过了一些关于道路的东西。不是工作