我有一个主菜单。
当点击了有子女的任何父母的链接时,子菜单打开。
在这一点上,一个类moves-out
被添加到主菜单,并开始CSS转换。
转换结束后,显示子菜单。
子菜单包含点击<li>
(如果再次点击将带我们回到主菜单),它是孩子。
在这里,我的目标是禁用家长<li>
上的点击事件1秒,
然后在这1秒钟之后让它返回被点击的能力,以便我们可以回到主菜单。导航的
的例如是:链接第一次点击后,使链接不可点击,等待转换结束+ 1秒,然后再次链接点击
<ul class="main-nav">
<li><a href="#0">Home</a></li>
<li><a href="#0">Blog</a></li>
<li><a href="#0">About</a></li>
<li><a href="#0">Contact</a></li>
<li>
<a href="#0" class="subnav-trigger"><span>PARENT</span></a>
<ul>
<li><a href="#0">Child 1</a></li>
<li><a href="#0">Child 2</a></li>
<li><a href="#0">Child 3</a></li>
And so on...
</ul>
</li>
</ul> <!-- .main-nav -->
只为我工作的方式是隐藏/显示父在主菜单中添加了像这样的moves-out
类:
$('.subnav-trigger').on('click', function(event) {
event.preventDefault();
if ($('.main-nav').hasClass('moves-out')) {
var $this = $(this);
$this.hide();
setTimeout(function(){
$this.show();
}, 1000);
}
}
我已经试过很多过的事情,这是唯一的一个是附近我的目标。
取而代之关$this.hide()
,$this.off('click')
正在工作
但在setTimeout
里面我做了什么以重新获得点击是行不通的。
任何帮助将不胜感激。
注意:我希望这可以防止快速点击/重新点击。不要忘记过渡;)
再次感谢您的任何帮助。
SYA :)
非常感谢丹,我的'指针events'受审,但被这样做是错误的'setTimeout'里面,我觉得愚蠢大声笑。 再次感谢您的时间,这是一个非常简单的解决方案。 – LebCit
很高兴能有一些帮助。 –