Superfish不会在IE8中显示

时间:2010-12-03 21:05:06

标签: javascript jquery internet-explorer-8 superfish

我对superfish有一个问题,这使得下拉菜单根本不会出现在IE8中。它出现在其他一切(甚至IE6)但不是IE8。我根本没有修改源JS,我正在调用一个名为“subnav”的div,其中显示了我的列表。

当我将鼠标悬停在菜单项上时,它应该发生什么,它将下拉菜单的CSS更改为“visibility:visible,display:block”并显示菜单。在IE8中,没有任何反应,也没有改变CSS。

任何可能导致它的想法?我也在使用superubs插件用于superfish。

这是css:

#navbar ul{
    margin:10;
    padding:0;
    width:1000px;
}

#navbar li{  
    float:left;  
    color:#191919;  
    list-style-type:none;
    text-transform:uppercase;
    background:transparent url('../images/common/layout/nav-separator.jpg') center right no-repeat;
    padding:10px 0;
}

#navbar li.last{  
    background:none;
}

#navbar ul li a{
    padding: 12px 33px;  
    color: #fff;  
    text-decoration: none; 
}

#navbar ul li a:hover{
    color:#05af0d;
    background:transparent url(../images/common/layout/nav-hover-highlight.png) top center no-repeat;
}

#navbar ul li a.hover-arrow:after{
    margin-left:10px;
    content:url(../images/common/nav-arrow.png);
}

#navbar ul li:hover a.hover-arrow:after{
    margin-left:10px;
    content:url(../images/common/nav-arrow-roll.png);
}

#navbar ul li a.hover-arrow:hover{
    background:#000 url('../images/common/layout/nav-separator.jpg')  right 9px no-repeat;
}

#navbar ul li p{
    margin:0;
    display:inline-block;
}


/*Sub Nav Lists */
.subnav { 
    display:none;
    visibility:hidden; 
}

#navbar ul li ul{
    margin:0; padding:0;    
    position: absolute;   
    left: auto; top: 40px;  
    background: #333;  
    z-index: 99;
}

#navbar ul li ul li{
    background:none;
}

#navbar ul li ul li a{
    padding:0px 3px;  
    display:inline-block;
    margin:0;
    width:150px;
    text-transform:capitalize;
}

#navbar ul li ul li a:hover{
    background-color:#a7a7a7;
    color:#000;
    border:none;
    background-image:none;
    font-weight:bold;
}

以下是页面上的内容:

<div id="navbar">       
   <ul class="topnav">
      <li id="item 1"><p></p>
         <ul class="subnav"></subnav>
      </li>
      <li id="item 2"><p></p>
         <ul class="subnav"></subnav>
      </li>
      etc...
   </ul>
</div>

1 个答案:

答案 0 :(得分:0)

不确定这是否能解决您所看到的问题,但我在您的html片段中注意到,带有subnav类的UL元素未使用适当的标记关闭。我要尝试的第一件事就是用以下内容替换它们:

<ul class="subnav"></ul>

IE8可能无法像其他浏览器一样处理任何其他错误。尝试通过验证器运行您的页面(例如:The W3C Markup Validator