繁体   English   中英

使用jQuery,如何在当前标签上禁用点击效果?

[英]Using jQuery, how do I disable the click effect on the current tab?

我有一个正在进行动画的菜单,但是我想在动画发生时禁用单击。

<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;
});

但这似乎不起作用(我认为这在逻辑上是可行的)?

任何帮助表示赞赏。

干杯,
史蒂夫

$("div").click(function() {
    if (!$(this).parent().children().is(':animated')) {
        $(this).animate({height: "200px"}, 2000); 
    }
    return false;
});

你可以做这样的事情...

$(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,因为它不仅会影响菜单,还会影响页面上的更多内容,

动画发生后如何禁用单击的<div>? 我已经向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;
});

我怀疑我在方法上缺少一些东西。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM