javascript - 在 javascript 中创建菜单问题

标签 javascript

我使用 js 和 css 创建了一个菜单。顶层 ul 中的每个 li 都有一个特定的背景图像以及一个特定的 onmouseover 图像。

一切工作正常,除了 onmouseover 背景,每当我在它下面有一个子菜单时。请检查以下链接下的垂直菜单: http://www.balouta.com/Autostar3/testmenu/test.html

使用的 JavaScript 如下:

var menuids=new Array("verticalmenu")
var submenuoffset=0 

function createcssmenu(){

for (var i=0; i<menuids.length; i++){
  var ultags=document.getElementById(menuids[i]).getElementsByTagName("ul")
    for (var t=0; t<ultags.length; t++){

    ultags[t].parentNode.onmouseover=function(){ 

    this.getElementsByTagName("ul")[0].style.right=this.parentNode.offsetWidth+submenuoffset+"px"
    this.getElementsByTagName("ul")[0].style.display="block"

    }
    ultags[t].parentNode.onmouseout=function(){
    this.getElementsByTagName("ul")[0].style.display="none"
    }
    }
  }
}


if (window.addEventListener)
window.addEventListener("load", createcssmenu, false)
else if (window.attachEvent)
window.attachEvent("onload", createcssmenu)

最佳答案

问题是,您将鼠标悬停在顶级菜单上会显示 a div(子菜单),该 div(子菜单)隐藏了下面顶部菜单的内容,因此无法将鼠标悬停在 a (顶部菜单)被触发。

一个小修复是删除具有子菜单的项目的宽度。

删除以下行: css 中的 width: 225px; (第 81 行)

对所有其他具有子菜单的菜单执行相同的操作。

关于javascript - 在 javascript 中创建菜单问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8103750/

相关文章:

javascript - 在不访问配置的情况下使用 requirejs 加载外部脚本

javascript - 主干多个事件处理程序问题 : only one method called for the same event

javascript - 使用 Chrome 在 HTML5 视频中搜索

javascript - 脚本5009 : 'JSON' is undefined

javascript - 根据动态样式属性的存在来定位元素 - Jquery

javascript - 如何仅获取对象中由键数组定义的值?

javascript - 使用 CDN 与 NPM 安装库

javascript - 什么是构建面向 Web 和本地语言的游戏框架的好平台?

javascript - HTML/Javascript/CSS 模板 - 进度跟踪

javascript - AngularJS 在 insideHTML 编辑上中断