我有2個元素a <ul>
和<div>
。mouseleave 2個元素顯示/隱藏1個元素?
如果我將鼠標懸停在div上我希望ul出現,當我mouseleave div時我想檢查鼠標是否超過ul,如果不是,我想再次隱藏ul。
這是我的代碼,它適用於Chrome瀏覽器和Safari瀏覽器,但不是在Firefox中有沒有人知道什麼可能會導致此錯誤?
$('.footer')
.mouseenter(function() {
$('ul#date').fadeIn();
})
.mouseleave(function(){
$('ul#date').hover(
function() {
$('ul#date').mouseleave(function() {
$('.footer').hover(
function() {
return;
},
function() {
$('ul#date').fadeOut();
}
);
});
},
function() {
$('ul#date').fadeOut();
}
);
});
編輯 HTML標記
<div id="main-wrapper">
<div class="clearfix" id="main">
<div class="column" id="content">
<div class="section">
<h1 id="page-title" class="title">Titletest</h1>
<div class="region region-content">
<div class="block" id="block-system-main">
<div class="content">
<div typeof="sioc:Item foaf:Document" class="node" id="node-13">
<ul id="date" style="display: none;">
</ul>
</div><!-- /.node -->
</div>
</div><!-- /.block -->
</div><!-- /.region -->
</div>
</div><!-- /.section, /#content -->
</div>
</div>
<div class="footer"></div>
SOLUTION
好,感謝crowicked我來到了我想要的效果,這是對誰感興趣的人的代碼。
$('.footer').hover(
function()
{
$('ul#date').stop();
if ($('ul#date:hidden'))
{
$('ul#date').fadeIn();
}
}
);
$('ul#date').mouseleave(function(){ $('ul#date').fadeOut(); });
你可以發佈你的HTML結構。在事件處理程序中分配了很多事件處理程序,這應該真的被避免。 – 2011-12-22 15:41:34
我同意Rory ......它有點像Inception一樣 – isNaN1247 2011-12-22 15:44:46
似乎沒有「主包裝」和「頁腳」之間(除了可能邊距/填充)。檢查我給你的答案。 – crowicked 2011-12-22 16:05:05