使用 jQuery,如何禁用当前选项卡上的点击效果?
Posted
技术标签:
【中文标题】使用 jQuery,如何禁用当前选项卡上的点击效果?【英文标题】:Using jQuery, how do I disable the click effect on the current tab? 【发布时间】:2010-09-20 14:50:07 【问题描述】:我有一个正在播放动画的菜单,但我想在动画播放时禁用点击。
<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;
);
但这似乎不起作用(我认为它在逻辑上起作用)?
任何帮助表示赞赏。
干杯, 史蒂夫
【问题讨论】:
【参考方案1】:$("div").click(function()
if (!$(this).parent().children().is(':animated'))
$(this).animate(height: "200px", 2000);
return false;
);
【讨论】:
哇! 14 个月后解决了我的问题。【参考方案2】:你可以做这样的事情......
$(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,因为它可能会影响页面上的更多内容,而不仅仅是您的菜单,
【讨论】:
【参考方案3】:如何在动画发生后禁用单击的
?我已向已单击的 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;
);
我怀疑我在 .not 工作方式方面遗漏了一些东西
【讨论】:
以上是关于使用 jQuery,如何禁用当前选项卡上的点击效果?的主要内容,如果未能解决你的问题,请参考以下文章
在切换到 UITabbarController 中的不同选项卡之前关闭当前选项卡上的推送视图控制器