html - 在垂直的 suckerfish 中保持较高的菜单突出显示

标签 html css menu hover suckerfish

我看过这个问题,但我似乎无法将答案应用到我自己的菜单中。我的 suckerfish 菜单基本上是这样的 ( http://htmldog.com/articles/suckerfish/dropdowns/example/vertical.html ),我自己对颜色/字体做了一些调整/并清除了表格的边框。我怎样才能做到这一点,当你在一个选择的选项中移动时,你所经历的一切都会突出显示,这样你就知道你选择了哪些选项来到达你所在的位置?我已经对它附带的所有样式进行了反复试验,例如 #nav、this 和 #nav、that,但它们似乎都没有同时引用一个嵌套列表项的所有先前菜单。

我几乎一直在自学这个,所以我试着在我的问题中尽可能清楚,希望我是有道理的!!!

非常感谢!

最佳答案

以上在 Firefox 中工作正常但在 IE 中不行,因为 IE 不尊重继承。这样一来,当您将鼠标移动到 LI 标记的其他部分时,链接的颜色不会停留在其悬停颜色。

下面的代码不是很漂亮,但可以工作:

HTML

<ul id="nav">
 <li ><a href="test.org" class="navlink">Test</a>
             <ul>
         <li ><a href="test2.org">Test2</a></li>
                <li ><a href="test2.org">Test2</a></li>
             </ul>
        </li>
 <li ><a href="test.org" class="navlink">Bonk</a>
             <ul>
         <li ><a href="test2.org">Bonk2</a></li>
                <li ><a href="test2.org">Bonk2</a></li>
             </ul>
        </li>
</ul>

Javascript

sfHover = function() {
 var sfEls = document.getElementById("nav").getElementsByTagName("LI");
 for (var i=0; i<sfEls.length; i++) {
  sfEls[i].onmouseover=function() {
   var els = this.getElementsByTagName("A");
   for (var j=0; j<els.length; j++) {
    if(els[j].className =="navlink") els[j].style.color = '#FFFFFF';
   }
   this.className+=" sfhover";
  }
  sfEls[i].onmouseout=function() {
   var els = this.getElementsByTagName("A");
   for (var j=0; j<els.length; j++) {
    if(els[j].className =="navlink") els[j].style.color = 'Red';
   }
   this.className=this.className.replace(new RegExp(" sfhover\\b"), "");
  }
 }
}
if (window.attachEvent) window.attachEvent("onload", sfHover);

关于html - 在垂直的 suckerfish 中保持较高的菜单突出显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1347579/

相关文章:

JavaFX:设置菜单项中图形节点和文本之间的间隙

javascript - 为什么这不能阻止默认链接?

php - 从谷歌搜索中删除并保护/管理/

javascript - 有没有办法在Mac上使用javascript/html将变量写入本地文件?

javascript - 轮播宽度问题

css - 我如何添加 CSS repeat y 使边框垂直

css 下拉菜单不可见

html - <div> 只能水平滚动?

jquery - 为普通类隐藏的字段设置唯一的数据属性和 ID

html - 如何设置 float 和非 float 元素垂直对齐到底部