【发布时间】:2012-04-25 14:24:17
【问题描述】:
当用户使用 jQuery 将鼠标悬停在无序列表菜单上时,我正在尝试创建平滑的淡入/淡出效果。到目前为止,当用户将鼠标悬停在包含子项的菜单项上时,我可以淡入子菜单,但我我正在努力隐藏它。
要求如下-如果鼠标不在子菜单项或其父项上-淡出子菜单列表。
我包含了我的菜单和 HTML 标记的屏幕截图,请建议我如何按照上面列出的要求隐藏菜单:
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Home</title>
<link href="Styles/Style.css" rel="stylesheet" type="text/css" />
<script src="Scripts/jquery-1.4.1.min.js" type="text/javascript"></script>
<script type="text/javascript">
jQuery(document).ready(function () {
$('#subList').css("display", "none");
$('#item3').mouseover(function () {
$('#subList').fadeIn('slow');
$('#subList').css("display", "block");
});
$('#subItem1').mouseover(function () {
$('#subList').css("display", "block");
});
$('#subItem2').mouseover(function () {
$('#subList').css("display", "block");
});
$("#subItem1").mouseleave(function () {
$("#subList").fadeOut("slow");
});
$('#subItem2').mouseleave(function () {
$('#subList').fadeOut("slow");
});
});
</script>
</head>
<body>
<div class="menu">
<ul>
<li><a href="item4.htm">Menu Item 4</a></li>
<li><a href="#" id="item3">Menu Item3</a>
<ul id="subList">
<li id="subItem1"><a href="subItem1.htm">Sub Item 1</a></li>
<li id="subItem2"><a href="subItem2.htm">Sub Item 2</a></li>
</ul>
</li>
<li><a href="item2.htm">Menu Item 2</a></li>
<li><a href="item1.htm">Menu Item 1</a></li>
</ul>
</div>
</body>
</html>
【问题讨论】:
-
你能详细说明你的代码有什么问题吗?我已将你的代码复制到 jsfiddle 链接及其工作 jsfiddle.net/2yEtK