0
我正在建設一個網站,並有一個下拉菜單。由於設計的性質,我目前檢測鼠標何時位於菜單項上;並顯示相關的子菜單。對象消失與衰落子菜單代碼 - jQuery的錯誤?
<div class="menu-responsibility menu-item">
<a class="menu-click" href="<?php echo ($baseURL);?>responsibility" title="Responsibility" ></a>
<div class="sub-responsibility">
<ul class="sub-list">
<li><a href="<?php echo $baseURL; ?>responsibility/social" title="Social Responsibility">Social</a></li>
<li><a href="<?php echo $baseURL; ?>responsibility/environmental" title="Environmental Responsibility">Environmental</a></li>
<li><a href="<?php echo $baseURL; ?>responsibility/philanthropy" title="Philanthropy">Philanthropy</a></li>
</ul>
</div>
</div>
這裏是JS,我寫:
/* NOTE: Visibility was added due to display objects being clickable with 0 opacity. */
$(".menu-click").hover(function() {
$(this).css('visibility', 'visible');
$(this).parent().css('visibility', 'visible');
$(this).parent().fadeTo("fast", 1);
}, function() {
if ($(this).parent().is(':hover')) {
//alert ("hovering");
} else {
$(this).parent().fadeTo("fast", 0);
}
});
$(".menu-click").parent().mouseleave(function() {
$(this).fadeTo("fast", 0, function() {
// this function will called after the opacity animation has completed
$(this).delay(500).css('visibility', 'hidden');
});
});
/*End Sub-Menu Function */
這工作時,只是褪色的罰款;但是當不透明度爲0並且元素仍然可見時,它們可以被點擊(只是未見),這是不可接受的。
的錯誤: 有時,完全隨機,一些菜單(和鄰接子菜單)的懸停狀態的消失。他們不在那裏,不能突出顯示。這將隨機發生在其中一個菜單項中,如果您快速地在它們上面運行鼠標。當「結果」菜單項正在執行此操作時,Firebug會顯示以下內容。它不能再突出顯示。
<div class="menu-home menu-item">
<div class="menu-services menu-item" style="visibility: hidden; opacity: 0;">
<div class="menu-results menu-item" style="opacity: 0; visibility: hidden;">
<div class="menu-clients menu-item" style="visibility: hidden; opacity: 0;">
<div class="menu-about menu-item" style="opacity: 0; visibility: hidden;">
<div class="menu-responsibility menu-item" style="opacity: 0; visibility: hidden;">
<div class="menu-contact menu-item">
非常奇怪的錯誤,希望你們可以幫忙!我的開發網站是可用的,並可能會幫助:http://www.kipdo.com
在此先感謝!