基于html JavaScript CSS做一个onMouseOver事件,当鼠标在上面时下面的隐藏栏会出现,里面有一些超链接

基于html JavaScript CSS这三个做一个简单的onMouseOver事件,当鼠标在上面时下面的隐藏栏会自动出现,里面有一些超链接可以点击 例如:上面一行是 "我的个人信息" 当鼠标移动到这上面的时候下面隐藏栏出现,(好像是用style="display:none";来约束吧),隐藏栏的内容是"姓名" "个人主页" "我的校内" "我的空间" 等一系列超链接,当鼠标离开隐藏栏或者上面我的个人信息栏的时候 隐藏栏又自动隐藏。请高手帮帮忙,我实在做不出来了,每次都是鼠标一放在上面我的信息栏时,下面的隐藏栏会出现,但当想点击隐藏栏里的链接时候鼠标一移动到下面它又消失了 不知道差在哪啊 哪位指点指点啊 谢谢啦

第1个回答  2009-03-28
楼主没有完全表述清楚到底是做一个菜单,还是一个选项卡切换,看了半天,大概是你想写一个导航菜单了,抽空写了一个,先给出全部源码:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1 DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>导航菜单</title>
<style type="text/css">
body{font-size:12px;}
ul,li{list-style-type:none;padding:0;margin:0;}
.main_nav{padding:2px;}
.main_nav a{display:block;line-height:28px;height:28px;padding-left:10px;overflow:hidden;}
.main_nav .navs{width:120px;}
.main_nav .navs .nav_a{background:#DDDDDD;color:#000000;text-decoration:none;}
.sub_nav{display:none;width:120px;}
.sub_nav li a {color:#FFFFFF;text-decoration:none;}
.sub_nav li a:link, .sub_nav li a:visited{background:#A0BED5;}
.sub_nav li a:hover{background:#0077BB;}
</style>
</head>
<body>
<ul class="main_nav">
<li class="navs" onmouseover="showSubNav('subNav_1');" onmouseout="hideSubNav('subNav_1');">
<a href="javascript:;" class="nav_a">我的个人信息</a>
<ul id="subNav_1" class="sub_nav">
<li><a href="#">姓名</a></li>
<li><a href="#">个人主页</a></li>
<li><a href="#">我的校内</a></li>
<li><a href="#">我的空间</a></li>
</ul>
</li>
</ul>
<script language="javascript" type="text/javascript">
function showSubNav(id){
document.getElementById(id).style.display='block';
}
function hideSubNav(id){
document.getElementById(id).style.display='none';
}
</script>
</body>
</html>

先复制下来,另存为x.htm 在浏览器打开运行一下吧, 鼠标放到 "我的个人信息" 会弹出一个下拉菜单, 鼠标放到下面的子菜单可以导航了,不会出现菜单忽然失踪了,测试浏览器(Firefox3,Opera 9.6, IE6,7,8),根据自己需要再改写吧,上面的可以说是最基本的导航菜单模型,
不过,推荐楼主用菜单生成器生成,兼容性好,有不用写代码.网上搜索一下就有了.

为什么上面的鼠标放在子菜单下,子菜单并没有消失?因为 鼠标放到子菜单上面, 由于子菜单包含在<li class="navs" 这个标签内,所以,一样会触发 onmouseover 事件,而显示子菜单,当鼠标移出后,隐藏,

如果把 <ul id="subNav_1" class="sub_nav">
<li><a href="#">姓名</a></li>
<li><a href="#">个人主页</a></li>
<li><a href="#">我的校内</a></li>
<li><a href="#">我的空间</a></li>
</ul> 这段子菜单代码放到 上面的 <li class="navs" 这个标签 外,
那么,就会出现你上述的情况,鼠标来不及点击子菜单,子菜单就消失了,
不知道你明白了没有?本回答被提问者采纳

如何通过JAVASCRIPT实现,当鼠标移动到一个DIV内时,DIV显示,当鼠标移...
display是让该控件不显示,而不是隐藏,所以display='none'时,页面上根本不存在该DIV,故不能触发 如果你另外用一个按钮什么的触发就行了

js怎么做鼠标移过去会显示隐藏的内容
步骤:1、构造好页面内容;2、在css中设置一个隐藏类hide,类的样式为display:none;设置显示类show,样式为display:block;3、给需要隐藏的内容设置类名为hide,这样就隐藏了控件 4、在js标签中,通过控件的类名或者id获取到隐藏对象obhide以及需要监控的对象ob2,再对ob2对象设置onmouseover方法,在...

html 怎么做鼠标悬浮菜单上的选项能出现下拉菜单
html做鼠标悬浮菜单上的选项能出现下拉菜单,CSS+JS做出此效果。<body>内代码为:<UL id=fm> <LI><A href="#">一级菜单栏目<\/A> <UL> <LI><A href="#">一级菜单目录<\/A><\/LI> <LI><A href="#">一级菜单目录<\/A><\/LI> <LI><A href="#">一级菜单目录<\/A><\/LI> <LI>...

js css 鼠标移入某个区域滑出一个框的效果怎么做?
1、输入代码,其中button是鼠标要滑动的地方,滑过button时,class为content的内容就要显示出来,鼠标滑出去的时候,这块内容就需要重新隐藏起来。2、把黑色内容的部分初始状态写成隐藏。只需要在class为content里写上display:none,即可。3、来看下代码和浏览器中的效果。可以看到黑色内容部分已经不见了。4、...

html如何做个链接,一点击就在下面显示隐藏的文字内容
1、首先,打开html编辑器,新建html文件,例如:index.html。2、在index.html中的<script>标签中,输入js代码:('button').click(function () {$('div').css('display', 'block');});3、浏览器运行index.html页面,会有个显示按钮。4、点击显示按钮,此时被隐藏的内容显示了出来。

CSS用hover做下拉菜单,滑上去效果出来了,但是弹出来的下拉菜单还没滑...
这个你要加个钩子 就是你要加多一个层,这个层放在菜单的后边,菜单放到这个层上面,当鼠标进入这个层时,将这个层的高变长就可以了当鼠标移出这个层时,这个层的高度回到默认。类似下面 自己试着琢磨,其实也可以先将ul隐藏 鼠标进入div时显示 <div id="menu"> 体育<br\/> <ul> <li>..<\/...

jsp做隐藏的下拉菜单怎么做(如图)
onclick事件,点击时如果是收起来(隐藏display:none)的就把它展开(显示display:block),如果是展开(显示display:block)的就把它收起来(隐藏display:none),<table> <tr> <td onclick= "if(aaa.style.display== 'none '){aaa.style.display= 'block ';}else{aaa.style.display= 'none ';}...

JAVASCRIPT 当鼠标移开时 已弹出子菜单自动消失
菜单和子菜单都加onmouseout函数,当鼠标移开的时候,调用一个函数,在这个函数里有个setTimeout执行隐藏div的函数,需要给子菜单加上个onmouseover 然后在响应函数里加clearTimeout,把之前的setTimeout给清除!<script> var hideFlag;function hideDiv(id){ hideFlag=setTimeout(function(){ document.get...

请问:鼠标移到上面就弹出小框(其它网页内容),移开就关闭.如何做?谢谢...
用的是css和JavaScript,只要你给你要这样做的网页元素设置上mouseHover事件和mouseOut事件然后在这两个事件里给你的要弹出的框设置css,也就是在鼠标没过来时候让小框隐藏,Hover的时候让隐藏属性取消就可以了,提示到这,具体的随便查查css和JavaScript的手册就可以做到了,再多说就没意思了,就跟看电影...

dw中那种鼠标放在上面显示下拉菜单怎么做?比如做一个首页的框,然后鼠标...
set(){ var menu=document.getElementById("navJs").getElementsByTagName("li"); for(var i=0;i<menu.length;i++) { if(menu[i].className=="li_aJs") { menu[i].onmouseover=function() { this.getElementsByTagName("ul")[0].style.display="block"; ...

相似回答