我需要我的子菜單div只有當li項目和子菜單本身沒有被徘徊時纔會消失。mouseleave爲兩個元素來隱藏另一個div
CSS解決方案不會在這裏工作,因爲我需要使用第一個孩子懸停和子菜單div不是子元素。
我已經搜索論壇,但無法找到解決方案,當子菜單不是鋰項目的孩子。
HTML:
<ul id="top-menu">
<li>item 1</li>
<li>item 2</li>
<li>item3</li>
</ul>
<!-- somewhere else in DOM (not directly after or child of menu) -->
<div id="#menu1_expansion">
sub menu1 content
</div>
的jQuery:
$(document).ready(function() {
$('#top-menu li:nth-child(1)').hover(
function()
{
$('#menu1_expansion').stop();
if ($('#menu1_expansion:hidden'))
{
$('#menu1_expansion').show();
}
}
);
$('#menu1_expansion').mouseleave(function(){ $('#menu1_expansion').hide(); });
});
CSS:
#menu1_expansion {display:none; position:absolute;}
目前這得到子菜單出現在李項懸停和子菜單中消失,當鼠標離開,但我需要子菜單隱藏時,它和李項目是mouseleave - 任何人都可以建議如何做到這一點?謝謝。
不把你的'#menu1_expansion'李中和做,在2中的任何正當的理由css行? – mikakun
嗨,我將這添加到一個CMS(sitecore),因此無法將子菜單放在li項目中 – Defender420
錯誤,您可以用js將它添加到li裏面(如果您不知道如何自定義服務器腳本) – mikakun