【发布时间】:2013-07-09 20:18:31
【问题描述】:
嗨,我有一个菜单和子菜单,子菜单有一个 div 元素。当我将鼠标悬停在我的第一个菜单 li 的超链接上时,我可以获得 div 元素,但是当我拿出我的来自 div 元素的鼠标。它不断出现,所以当我将鼠标移出 div 或其他地方时,我想隐藏 div 元素。在鼠标悬停时,我没有写“显示”、“无”的代码,因为它悬停在链接上工作,但它仍然出现。
HTML
<ul class="main-nav">
<li ><a href="#" id="menu1">Products & Services</a></li>
<li><a href="#" id="menu1">Solution and Technologies</a></li>
<li><a href="#" id="menu1">About Us</a></li>
<li><a href="#" id="menu1">Investors</a></li>
<li style="border:none;"><a href="#" id="menu1">Newsroom</a></li>
</ul>
<!--1st drop down menu -->
<div id="dropmenu1" class="dropmenudiv" style=" position:absolute; font-size:12px; z-index:1; display:none; border:1px solid #D8D8D8;">
<a id="consumer1" style="visibility:hidden;" href="#">Consumer & Home</a>
<a href="#">Aerospace & Defense</a>
<a href="#">Safety & Security</a>
<a href="#">Scanning & Mobile Productivity</a>
</div>
CSS
.dropmenudiv a{ background:url(images/dropdown_bg.jpg); text-decoration:none; display:block; line-height:14px; padding:2px;}
ul.main-nav{list-style:none; border:1px solid #666; overflow:hidden; background:url(images/mnu_grad_normal.jpg) repeat-x; height:37px; line-height:36px;}
ul.main-nav li { float:left; font-size:12px; border-right:1px solid #999; padding:0px 32px;}
ul.main-nav li a{ color:#000000; text-decoration:none;}
ul.main-nav li a:hover{ color:#FF0000;}
JS:
$(document).ready(function() {
$('#menu1').mouseover(function(){
$('#dropmenu1').css("display","block");
$('#dropmenu1').css({'width':'202px','height':'auto'});
$('#menu1').mouseout(function(){
});
【问题讨论】:
-
您的鼠标悬停功能为空
-
实际上我已经在 mouseout 功能中使用了 "display":"none" 但它并没有像我提到的那样工作。
-
在 jQuery 中还有一个 hover() 方法,我发现它比 mouseover/mouseout 更具可读性。
-
@user1673379 请将您的代码更新到当前版本并实现mousout
-
它不是像mouseout一样接缝在mouseover里面吗?