1
我有一個可用於jquery函數的html菜單。當有人點擊父菜單項時,它顯示的是子項,如果有另一個子項(孩子)顯示,如果用戶點擊第一個子項,並且當他將鼠標移出父項時,每個子項和子項目不顯示,因爲這是有點混淆的用戶我試圖改變鼠標離開事件點擊事件。如何在第一次點擊中運行jquery函數和在第二次點擊中運行另一個函數
<div style="margin-top: 200px; width: 140px; text-align: left;">
<div>
<a href="#Home" onclick="close_this()" class="lmenu">Home</a>
</div>
<div>
<a href="#AboutUs" onclick="load_contents('aboutus.php', 400, '')" class="lmenu">About Us</a>
</div>
<div class="lmenu parent">
<div>
<a href="#" class="lmenu">Our Services</a>
</div>
<div class="subperent">
<a href="#">
Event Management
</a>
<div class="chilld" onclick="load_contents('eventmngmnt.php', 400, 'categories.php')">
<a class="lmenu" href="#">
Categories
</a>
</div>
<div class="chilld" onclick="load_contents('providingfac.php', 800, '')">
<a class="lmenu" href="#">
Providing Facilities
</a>
</div>
</div>
<div class="subperent">
<a href="#">
Rental
</a>
<div class="chilld">
<a class="lmenu" href="#" onclick="load_contents('avequipments.php', 850, '')">
AVEquipments
</a>
</div>
<div class="chilld">
<a class="lmenu" href="#" onclick="load_contents('otherservices.php', 850, '')">
Other Services
</a>
</div>
</div>
<div class="subperent">
<a href="#">
Exhibition Stalls
</a>
<div class="chilld">
<a class="lmenu" href="#standard_stall" onclick="load_contents('standardstalls.php', 600, '')">
Standard Stall
</a>
</div>
<div class="chilld">
<a class="lmenu" href="#designed_stall" onclick="load_contents('designedstalls.php', 600, '')">
Designed Stalls
</a>
</div>
</div>
<div style="clear: both"></div>
</div>
<div class="lmenu parent">
<div>
<a href="#" class="lmenu">Gallery</a>
</div>
<div class="subperent">
<a class="lmenu" onclick="load_contents('gallery.php', 600, '')" href="#">
Events & Confferance
</a>
</div>
<div class="subperent">
<a class="lmenu" onclick="load_contents('gallery_stalls.php', 600, '')" href="#">
Stalls
</a>
</div>
</div>
</div>
然後我使用這個jQuery腳本查看和隱藏菜單的子項和子項。
var $sub_itmes;
$(".parent").on({
click: function() {
$sub_itmes = $('.subperent', this);
$sub_itmes.css({
"display": "block",
});
$sub_itmes.animate({
"opacity": 1
});
},
mouseleave: function() {
$sub_itmes = $('.subperent', this);
$sub_itmes.css({
"display": "none",
});
$sub_itmes.animate({
"opacity": 0
});
}
});
$(".subperent").on({
click: function() {
$sub_itmes = $('.chilld', this);
$sub_itmes.css({
"display": "block",
});
$sub_itmes.animate({
"opacity": 1
});
},
mouseleave: function() {
$sub_itmes = $('.chilld', this);
$sub_itmes.css({
"display": "none",
});
$sub_itmes.animate({
"opacity": 0
});
}
});
這段代碼可以正常使用,但首先點擊之後,我使用「鼠標離開」事件隱藏子項,但我需要的是「鼠標離開」事件轉換爲第二次點擊。 有人可以給我一個指導來做到這一點?
單擊時,檢查變量。如果不是這樣,請將其設置爲true。下次你點擊,它會是真的,你可以做任何你想要的。 –
...或者在其處理程序結束時刪除第一個事件偵聽器,然後附加另一個事件偵聽器。 – Teemu
或者你可以谷歌「切換事件替換」。你應該找到事件一個簡單的插件來實現舊的切換事件。 – PeterKA