Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 下拉菜单消失,仅在IE7问题中返回_Jquery_Html_Css_Navigation_Drop Down Menu - Fatal编程技术网

Jquery 下拉菜单消失,仅在IE7问题中返回

Jquery 下拉菜单消失,仅在IE7问题中返回,jquery,html,css,navigation,drop-down-menu,Jquery,Html,Css,Navigation,Drop Down Menu,我的一个下拉菜单有问题。通常它们工作正常,但这次发生的情况如下(这只发生在IE7中…呃): 当我将鼠标放在li with class子菜单上时,id为#nav2 fadesIn()的ul; 然而,在二级导航(#nav2)的两个li之间,我有以下内容: <li><a href="#">hover</a> / <ul id="nav2"> <li><a href="#">hover2</a> /</

我的一个下拉菜单有问题。通常它们工作正常,但这次发生的情况如下(这只发生在IE7中…呃):

当我将鼠标放在li with class子菜单上时,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>
编辑1:这是两个导航的CSS,#导航1和#导航2:

我也有一些关于它的有条件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会出现这种情况,以及如何修复它吗

非常感谢


Amit

当鼠标穿过IE6/7中的链接边界时,它将触发一个事件,就像鼠标左移并重新输入一样,即使鼠标仍在同一父元素上(在本例中为li)。避免鼠标“滑落”菜单的一个解决方法是在菜单的样式上,块之间没有间隙,您是否可以进行调整以实现这一点


在li上设置背景色为红色,在a上设置背景色为绿色。。。对于IE6/7这种类型的操作,任何显示的红色都是潜在的鼠标事件危险区域。

顺便说一句,如果有人对我如何解决这个问题感到好奇,我使用jQuery删除5px边距并添加了一些s。这是我使用的代码:

$('#nav1 ul li:last').css({ 'marginRight': '-5px' }).prepend('&nbsp;'); // prevents IE 7 bug
祝你们好运! 阿米特

我明白了。嗯,每个链接后我都有一个/(翻译成“/”)。是否可以在不将“/”作为链接的一部分的情况下完成您建议的任务?
ul#nav1,ul#nav2,#footer { zoom: 1; }
ul#nav1 { left: -410px; }
ul#nav2 { left: 428px; }
ul#nav1 li.submenu { zoom: 1; height: 1%; }
$('#nav1 ul li:last').css({ 'marginRight': '-5px' }).prepend('&nbsp;'); // prevents IE 7 bug