高分请CSS和JS高手帮忙解决css菜单的问题
有一个纯css控制的菜单,鼠标放到一级菜单上后会显示二级菜单列表,现在我想当用户点击某个二级菜单后,自动将二级菜单列表隐藏。因css无法获得鼠标点击事件,所以我写了个js函数,鼠标点击某个二级菜单后用js方法将二级菜单列表隐藏。但点击一次后,鼠标再放到一级菜单上时二级菜单显示不出来了,好像是CSS不起作用了。请CSS和JS高手帮忙分析一下什么原因?如何解决?非常感谢!
完整代码如下:
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gbk"/>
<title>三级dropdown弹出菜单</title>
<style type="text/css">
/* common styling */
.menu {font-family: arial, sans-serif; width:750px; position:relative; margin:0; font-size:11px; margin:50px 0;}
.menu ul li a, .menu ul li a:visited {display:block; text-decoration:none; color:#000; width:104px; height:20px; text-align:center; color:#fff; border:1px solid #fff; background:#710069; line-height:20px; font-size:11px;}
.menu ul {padding:0; margin:0;list-style-type: none; }
.menu ul li {float:left; margin-right:1px; position:relative;}
.menu ul li ul {display: none;}
.menu ul li a.hide, .menu ul li a:visited.hide {display:none;}
.menu ul li a:hover ul li a.hide {display:none;}
.menu ul li a:hover {color:#fff; background:#36f;}
.menu ul li a:hover ul {display:block; position:absolute; top:21px; left:0px; width:104px;}
.menu ul li a:hover ul li a.sub {background:red; color:#fff;}
.menu ul li a:hover ul li a {display:block; background:#ddd; color:#000;}
.menu ul li a:hover ul li a ul {visibility:hidden;}
.menu ul li a:hover ul li a:hover {background:#6fc; color:#000;}
.menu ul li a:hover ul li a:hover ul {visibility:visible; position:absolute; left:105px; top:0; color:#000;}
.menu ul li a:hover ul li a:hover ul.left {left:-105px;}
</style>
</head>
<SCRIPT LANGUAGE="JavaScript">
function hidSubMenu(){
var obj = document.getElementById("ulid");
obj.style.visibility = "hidden";
}
</SCRIPT>
<body>
<div class="menu">
<ul>
<li><a class="hide" href="../menu/index.html">DEMOS</a>
<!--[if lte IE 6]>
<a href="../menu/index.html">DEMOS
<table><tr><td nowrap>
<![endif]-->
<ul id="ulid">
<li nowrap><a href="#" onclick="hidSubMenu()" title="The zero dollar ads page">zero dollars</a></li>
<li><a href="#" onclick="hidSubMenu()" title="Wrapping text around images">wrapping text</a></li>
<li><a href="#" onclick="hidSubMenu()" title="Styling forms">styled form</a></li>
</ul>
<!--[if lte IE 6]>
</td></tr></table>
</a>
<![endif]-->
</li>
</ul>
</div>
</body>
</html>
完整代码如下:
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gbk"/>
<title>三级dropdown弹出菜单</title>
<style type="text/css">
/* common styling */
.menu {font-family: arial, sans-serif; width:750px; position:relative; margin:0; font-size:11px; margin:50px 0;}
.menu ul li a, .menu ul li a:visited {display:block; text-decoration:none; color:#000; width:104px; height:20px; text-align:center; color:#fff; border:1px solid #fff; background:#710069; line-height:20px; font-size:11px;}
.menu ul {padding:0; margin:0;list-style-type: none; }
.menu ul li {float:left; margin-right:1px; position:relative;}
.menu ul li ul {display: none;}
.menu ul li a.hide, .menu ul li a:visited.hide {display:none;}
.menu ul li a:hover ul li a.hide {display:none;}
.menu ul li a:hover {color:#fff; background:#36f;}
.menu ul li a:hover ul {display:block; position:absolute; top:21px; left:0px; width:104px;}
.menu ul li a:hover ul li a.sub {background:red; color:#fff;}
.menu ul li a:hover ul li a {display:block; background:#ddd; color:#000;}
.menu ul li a:hover ul li a ul {visibility:hidden;}
.menu ul li a:hover ul li a:hover {background:#6fc; color:#000;}
.menu ul li a:hover ul li a:hover ul {visibility:visible; position:absolute; left:105px; top:0; color:#000;}
.menu ul li a:hover ul li a:hover ul.left {left:-105px;}
</style>
</head>
<SCRIPT LANGUAGE="JavaScript">
function hidSubMenu(){
var obj = document.getElementById("ulid");
obj.style.visibility = "hidden";
}
</SCRIPT>
<body>
<div class="menu">
<ul>
<li><a class="hide" href="../menu/index.html">DEMOS</a>
<!--[if lte IE 6]>
<a href="../menu/index.html">DEMOS
<table><tr><td nowrap>
<![endif]-->
<ul id="ulid">
<li nowrap><a href="#" onclick="hidSubMenu()" title="The zero dollar ads page">zero dollars</a></li>
<li><a href="#" onclick="hidSubMenu()" title="Wrapping text around images">wrapping text</a></li>
<li><a href="#" onclick="hidSubMenu()" title="Styling forms">styled form</a></li>
</ul>
<!--[if lte IE 6]>
</td></tr></table>
</a>
<![endif]-->
</li>
</ul>
</div>
</body>
</html>
...全文
相关推荐
js+css3圆环图标菜单展开收缩特效.zip
有兴趣刚需的可以自己下载,非常实用的jquery代码,可以完美运行,有能力的还可以二次修改!
静态网页期末作业高分攻略:原生HTML/CSS/JS完整实现
前端开发中,静态网页是入门必修课,其完成度直接决定作品上限。不依赖框架,仅通过原生HTML、CSS与JavaScript的精心组织,便能打造结构完整、风格统一且具备有效交互的页面。表单校验、日期选择等轻量级组件的实现细节,体现了对用户输入的细致反馈;响应式布局与图片压缩等资源治理手段,则保障了多端展示效果。以一份期末静态网页源码为样本,从页面架构、样式分层、交互逻辑到交付前检查,完整拆解高分作品的可复用经验,为前端学习与工程实践提供清晰参考。
HTML5 SVG手机底部图标菜单动态切换效果设计
SVG(Scalable Vector Graphics)是一种使用XML格式定义图形的语言,它允许我们绘制矢量图形,这些图形在放大或缩小时能够保持清晰,不会失真。与传统的位图格式如JPEG和PNG相比,SVG在响应式设计和高分辨率屏幕上显示尤为出色,因为它不受像素点限制,可以无限放大缩小而不影响画质。
js仿WebQQ整合苹果菜单界面
query-ui仿WebQQ整合苹果菜单界面.
基于html+css+js的仿原神网页(高分课程设计)
html css js网页设计 在网页设计领域,HTML、CSS和JavaScript是构建交互式网页的三大核心技术。本文将深入探讨如何利用这三者来设计一个仿原神主题的网页。


