【发布时间】:2010-07-29 21:31:16
【问题描述】:
我的一个下拉菜单有问题。通常它们工作正常,但这次会发生以下情况(这仅在 IE7 中发生......呃):
当我将鼠标放在带有类子菜单的 li 上时,id 为 #nav2 fadesIn(); 的 ul 但是,在二级导航(#nav2)的两个 li 之间,我有以下内容:
<li><a href="#">hover</a> /
<ul id="nav2">
<li><a href="#">hover2</a> /</li>
<li><a href="#">hover3</a></li>
</ul>
现在,当鼠标移到分隔两个
这是我正在使用的 javascript:
//show nav2 when mouse-over .submenu
$('#nav1 li:eq(1)').addClass('submenu'); //adds class submenu to second list item
$('#nav1 li.submenu').hover(function() {
//mouse on
$('#nav2').fadeIn();
}, function() {
//mouse off
$('#nav2').fadeOut();
});
EDIT1:这是两个导航的 CSS,#nav1 和 #nav2:
/* NAV1 - top nav list top left corner */
ul#nav1 { position: absolute; left: 31px; top:48px; }
ul#nav1 li { float: right; display: inline; margin-left: 5px;}
ul#nav1 li a { color: black; font-size: 12px; font-weight: bold; }
ul#nav1 li a:hover { color: #7090a7; }
ul#nav1 li a.navActive { color: #7090a7; }
/* NAV2 - bottom nav list (second list) top left corner */
ul#nav2 { display: none; position: absolute; left: -13px; top: 22px; height: 16px; background: url(../images/nav2bg.png) no-repeat top right; width: 171px; padding-right: 20px; line-height: 13px;}
ul#nav2 li { float: right; display: inline; margin-left: 5px; }
ul#nav2 li a { color: black; font-size: 12px; font-weight: bold; }
ul#nav2 li a:hover { color: #f4f4f4; }
.active { color: gray; }
我也有一些关于它的条件 IE7 语句:
ul#nav1,ul#nav2,#footer { zoom: 1; }
ul#nav1 { left: -410px; }
ul#nav2 { left: 428px; }
ul#nav1 li.submenu { zoom: 1; height: 1%; }
我意识到某些特定的 IE7 css 代码是多余的,但我似乎无法说出它为什么不起作用...
EDIT2:我应该提一下,这在 IE8、Firefox、Chrome 和 Safari 中完美运行。
知道为什么会在 IE7 中发生这种情况以及如何解决吗?
非常感谢!
阿米特
【问题讨论】:
标签: jquery html css navigation drop-down-menu