基于JS代码实现导航条弹出式悬浮菜单


Posted in Javascript onJune 17, 2016

1.概述

采用弹出式悬浮菜单,不但可以使网站的导航内容更加清晰,而且不影响页面的整体效果。运行本实例,如图1所示,当鼠标移动到一级导航菜单的标题上时,将弹出悬浮菜单显示该菜单对应的子菜单,鼠标移出时,将隐藏悬浮菜单。

2.技术要点

本实例主要是在JavaScript中,动态改变<div>标签对象的style属性的display属性值来实现动态显示和隐藏二级导航菜单。其实,每一个一级菜单下的二级菜单内容是已经添加在网页的<div>标签中,只是此时设置了<div>不显示。所以,在JavaScript中,当鼠标经过某个导航的标题时,只需要调用指定的<div>对象,动态修改它的display属性即可,display属性包含两个用于显示和隐藏的属性值,分别为none(隐藏)和block(显示)。

例如:在网页中有一个id为mydiv的<div>标签,并设置了此<div>为隐藏。在JavaScript中,控制此<div>显示的写法如下:

document.getElementById("mydiv").style.display="block";

3.具体实现

(1)编写用于显示和隐藏的JavaScript方法,当鼠标经过一级菜单标题时会显示二级菜单,当鼠标移出时会隐藏二级菜单。关键代码如下:

function change(img,subMenu,path,type){
img.src="images/"+path+".GIF";
if(subMenu!=null){
if(type==0){
subMenu.style.display="none";
}else{
subMenu.style.display="block";
}
}
}

(2)在页面中,预先在<div>标签中为每个一级导航菜单添加二级菜单的内容,并设置二级菜单的<div>标签为隐藏。关键代码如下:

<div id="NUser" style="background-color:#F3FFD5; border:#75A102 1px solid; width:200px; position:absolute; display:none; left:1px; top: 34px;">
<table width="100%" border="0" height="35px" cellspacing="0" cellpadding="0">
<tr>
<td align="center"><a href="#">浏览员工信息</a>  <a href="#">添加新员工</a></td>
</tr>
</table>
</div>
...//此处省略了其他二级菜单的<div>内容

(3)在一级菜单的的表格的<td>中设置onMouseOver和onMouseOut事件,调用步骤(1)中定义的JavaScript的change()方法,动态改变二级菜单<div>的显示和隐藏。关键代码如下:

<td onMouseOver="change(ImgUser,NUser,'NUser_r',1)" onMouseOut="change(ImgUser,NUser,'NUser_b',0)" style="cursor:hand;">
<img id="ImgUser" src="images/NUser_b.GIF" width="106" height="48" border="0">
...//省略了二级菜单的<div>代码
</td>

以上所述是小编给大家介绍的导航条弹出式悬浮菜单,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
获取URL地址中的文件名和参数的javascript代码
Sep 02 Javascript
jQuery checkbox全选/取消全选实现代码
Nov 14 Javascript
jquery下动态显示jqGrid以及jqGrid的属性设置容易出现问题的解决方法
Oct 22 Javascript
jQuery学习笔记之jQuery的DOM操作
Dec 22 Javascript
jquery dialog open后,服务器端控件失效的快速解决方法
Dec 19 Javascript
完美兼容各大浏览器的jQuery仿新浪图文淡入淡出间歇滚动特效
Nov 12 Javascript
BootStrap点击下拉菜单项后显示一个新的输入框实现代码
May 16 Javascript
AngularJS基础 ng-dblclick 指令用法
Aug 01 Javascript
jquery对Json的各种遍历方法总结(必看篇)
Sep 29 Javascript
jQuery使用EasyUi实现三级联动下拉框效果
Mar 08 Javascript
layui获取多选框中的值方法
Aug 15 Javascript
JavaScript设计模型Iterator实例解析
Jan 22 Javascript
Javascript中的数组常用方法解析
Jun 17 #Javascript
iframe中使用jquery进行查找的方法【案例分析】
Jun 17 #Javascript
JS检测页面中哪个HTML标签触发点击事件的方法
Jun 17 #Javascript
jquery.qtip提示信息插件用法简单实例
Jun 17 #Javascript
jQuery实现区域打印功能代码详解
Jun 17 #Javascript
javascript日期比较方法实例分析
Jun 17 #Javascript
JS实现复制内容到剪贴板功能兼容所有浏览器(推荐)
Jun 17 #Javascript
You might like
php中mt_rand()随机数函数用法
2014/11/24 PHP
Ucren Virtual Desktop V2.0
2006/11/07 Javascript
JavaScript的目的分析
2007/01/05 Javascript
Javascript 定时器调用传递参数的方法
2009/11/12 Javascript
输入框过滤非数字的js代码
2014/09/18 Javascript
jQuery搜索子元素的方法
2015/02/10 Javascript
JavaScript动态插入CSS的方法
2015/12/10 Javascript
JS iFrame加载慢怎么解决
2016/05/13 Javascript
AngularJS实现使用路由切换视图的方法
2017/01/24 Javascript
解决vue2.x中数据渲染以及vuex缓存的问题
2017/07/13 Javascript
bootstrap多层模态框滚动条消失的问题
2017/07/21 Javascript
vue实现登陆登出的实现示例
2017/09/15 Javascript
jQuery实现的简单手风琴效果示例
2018/08/29 jQuery
vue cli 3.x 项目部署到 github pages的方法
2019/04/17 Javascript
详解vue更改头像功能实现
2019/04/28 Javascript
Vue多环境代理配置方法思路详解
2019/06/21 Javascript
vue进入页面时不在顶部,检测滚动返回顶部按钮问题及解决方法
2019/10/30 Javascript
p5.js绘制创意自画像
2019/11/04 Javascript
vue ssr服务端渲染(小白解惑)
2019/11/10 Javascript
vue项目启动出现cannot GET /服务错误的解决方法
2020/04/26 Javascript
[01:14:31]Secret vs VG 2018国际邀请赛淘汰赛BO3 第一场 8.23
2018/08/24 DOTA
pyqt4教程之widget使用示例分享
2014/03/07 Python
python操作mysql中文显示乱码的解决方法
2014/10/11 Python
python3中dict(字典)的使用方法示例
2017/03/22 Python
python编程之requests在网络请求中添加cookies参数方法详解
2017/10/25 Python
Python实现可自定义大小的截屏功能
2018/01/20 Python
python字符串string的内置方法实例详解
2018/05/14 Python
Flask框架通过Flask_login实现用户登录功能示例
2018/07/17 Python
Python3实现对列表按元组指定列进行排序的方法分析
2018/12/22 Python
HTML5离线缓存Manifest是什么
2016/03/09 HTML / CSS
印度首个本地在线平台:nearbuy
2019/03/28 全球购物
小学门卫岗位职责
2013/12/17 职场文书
个人评语大全
2014/05/04 职场文书
2014年银行年终工作总结
2014/12/19 职场文书
家庭聚会祝酒词
2015/08/11 职场文书
python计算列表元素与乘积详情
2022/08/05 Python