我有一個主菜單。
當點擊了有子女的任何父母的鏈接時,子菜單打開。
在這一點上,一個類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
很高興能有一些幫助。 –