2010-10-09 67 views
1

我正试图禁用菜单的悬停功能。
我希望它只在某些条件下启用。
我使用$(".ulColor").removeClass('hover');尝试过,但没有奏效
的CSS代码启动悬停是:如何禁用链接悬停?我正在使用li:hover

li:hover ul, li.over ul { display: block; }

这是其内部菜单所在的HTML DIV -

<div id="pColorSelectorDiv" class="parentOfAll"> 
    <ul id="colorNav" class="ulColor"> 
     <li id="liColorNav" ><a id="colorSelected" class="firstAnchorChild">Colors</a> 
      <ul id="ulColorChild" class="ulColor"> 
       <li><a id="bkgColor-1" class="bkgColor-1 anchorClass" name="colorPallete" onclick="colorPicked('1');">COLOR</a></li> 
       <li><a id="bkgColor-2" class="bkgColor-2 anchorClass" name="colorPallete" onclick="colorPicked('2');">COLOR</a></li> 
       <li><a id="bkgColor-3" class="bkgColor-3 anchorClass" name="colorPallete" onclick="colorPicked('3');">COLOR</a></li> 
      </ul> 
     </li> 
    </ul> 
</div> 

这里是CSS代码的其余部分:

div[id="pColorSelectorDiv"] ul { 
    margin: 0; 
    padding: 0; 
    list-style: none; 
    width: 50px; /* Width of Menu Items */ 
    border-bottom: 1px solid #ccc; 
    } 

div[id="pColorSelectorDiv"] ul li { 
    position: relative; 
    } 

.firstAnchorChild{ 
    display: block; 
    text-decoration: none; 
    color: #777; 
    background: White; /* IE6 Bug */ 
    padding: 5px; 
    border: 1px solid #ccc; /* IE6 Bug */ 
    border-bottom: 0; 
    cursor: pointer; 
    } 


li ul { 
    position: absolute; 
    left: 49px; /* Set 1px less than menu width */ 
    top: 0; 
    display: none; 
    background: White; 
    } 


/* Styles for Menu Items */ 
.anchorClass{ 
    display: block; 
    text-decoration: none; 
    color: #777; 
    background: White; /* IE6 Bug */ 
    padding: 5px; 
    border: 1px solid #ccc; /* IE6 Bug */ 
    border-bottom: 0; 
    cursor: pointer; 
    } 

.bkgColor-1 {background: #00FFFF; color: #00FFFF;} 
.bkgColor-2 {background: #0000FF; color: #0000FF;} 
.bkgColor-3 {background: #7FFF00; color: #7FFF00;} 

回答

1

我想你想

li.hover:hover ul { display: block; } 

,而不是

li:hover ul, li.over ul { display: block; } 

现在,这种风格会影响ul只有当li悬停具有hover类。

A simplified example

PS您也可以使用编辑窗体上的“代码示例”按钮(带有零和1的窗体)来格式化代码。除其他外,它将保留缩进(从而提高可读性)。组合键是ctrl+K。我编辑了一个代码示例来演示它。

+0

我添加了一个按钮,点击哪个,悬停应该被禁用。当按钮被点击$(“。ulColor”)时,我执行此操作。removeClass('hover');但它不起作用。我做错了吗? – PlanetUnknown 2010-10-09 05:31:09

+0

明白了!对不起,完全错过了这一点添加了css行,然后执行此操作以启用悬停 - $(“#liColorNav”)。addClass('hover');哪些正确添加了“悬停”类。感谢一群Nikita! – PlanetUnknown 2010-10-09 05:37:31