IE中的jquery菜单问题

时间:2011-11-15 00:35:48

标签: jquery

Here就是一个例子。除了IE7和8之外,我尝试过的菜单都运行正常。

在IE中,我无法突出显示子菜单项,动画高度错误(短而不显示所有项目)

1 个答案:

答案 0 :(得分:1)

首先,您可以使用最简单的函数为菜单设置动画,如下所示:

$(document).ready(function() { 
    $("ul.menu li").hover(function() { 
        //$(this).find("ul:eq(0)").show('fast');
        //$(this).find("ul:eq(0)").slideDown('fast');
        $(this).find("ul:eq(0)").stop(false, true).animate({ height: 'show', opacity: 'show' }, 'fast'); 
    }, function() { 
        //$(this).find("ul:eq(0)").hide('fast'); 
        //$(this).find("ul:eq(0)").slideUp('fast');
        $(this).find("ul:eq(0)").stop(false, true).animate({ height: 'hide', opacity: 'hide' }, 'fast'); 
    }); 
});

在您的SobMenu类中,更改CSS:

.SubMenu {
    position: absolute;
    min-width: 100%;
    background-color: #3d2f26;
    opacity: 0;
    -moz-opacity: 0;
    -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";
    filter: alpha(opacity = 0);
}

对此:

.SubMenu {
    position: absolute;
    min-width: 100%;
    background-color: #3d2f26;
    top: 100%;
}

看看它是否有帮助。

关于突出显示,IE8及更早版本只接受:在A标签中悬停伪选择器。要解决此问题,请将文本包装在A标签中的LI元素中,并将填充和其他样式应用于此。