基于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 相关文章推荐
一个高效的JavaScript压缩工具下载集合
Mar 06 Javascript
一个基于jquery的图片切换效果
Jul 06 Javascript
jquery 学习之二 属性(html()与html(val))
Nov 25 Javascript
基于jquery的回到页面顶部按钮
Jun 27 Javascript
JavaScript正则表达式中的ignoreCase属性使用详解
Jun 16 Javascript
使用javascript提交form表单方法汇总
Jun 25 Javascript
js a标签点击事件
Mar 30 Javascript
node前端模板引擎Jade之标签的基本写法
May 11 Javascript
Chart.js 轻量级HTML5图表绘制工具库(知识整理)
May 22 Javascript
vue中在vuex的actions中请求数据实例
Nov 08 Javascript
关于vue-cli3打包代码后白屏的解决方案
Sep 02 Javascript
Openlayers学习之加载鹰眼控件
Sep 28 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
phpmyadmin的#1251问题
2006/11/25 PHP
php数组中删除元素之重新索引的方法
2014/09/16 PHP
php实现二进制和文本相互转换的方法
2015/04/18 PHP
CI(CodeIgniter)框架实现图片上传的方法
2017/03/24 PHP
php实现自定义中奖项数和概率的抽奖函数示例
2017/05/26 PHP
Javascript的getYear、getFullYear、getUTCFullYear异同分享
2011/11/30 Javascript
基于JQUERY的多级联动代码
2012/01/24 Javascript
JavaScript中对循环语句的优化技巧深入探讨
2014/06/06 Javascript
JS获取各种宽度、高度的简单介绍
2014/12/19 Javascript
深入探讨javascript中的数据类型
2015/03/04 Javascript
jquery实现点击向下展开菜单项(伸缩导航)效果
2015/08/22 Javascript
学习Javascript面向对象编程之封装
2016/02/23 Javascript
解决jquery无法找到其他父级子集问题的方法
2016/05/10 Javascript
jQuery学习心得总结(必看篇)
2016/06/10 Javascript
javascript实现获取指定精度的上传文件的大小简单实例
2016/10/25 Javascript
vue使用axios实现文件上传进度的实时更新详解
2017/12/20 Javascript
深入理解vue中slot与slot-scope的具体使用
2018/01/26 Javascript
JS实现简单的星期格式转换功能示例
2018/07/23 Javascript
微信小程序自定义头部导航栏和导航栏背景图片 navigationStyle问题
2019/07/26 Javascript
vue路由守卫,限制前端页面访问权限的例子
2019/11/11 Javascript
Python 中 list 的各项操作技巧
2017/04/13 Python
Python实现PS滤镜的旋转模糊功能示例
2018/01/20 Python
python的常用模块之collections模块详解
2018/12/06 Python
Pandas0.25来了千万别错过这10大好用的新功能
2019/08/07 Python
pygame实现俄罗斯方块游戏(基础篇1)
2019/10/29 Python
python GUI库图形界面开发之PyQt5复选框控件QCheckBox详细使用方法与实例
2020/02/28 Python
Python 统计位数为偶数的数字代码详解
2020/03/15 Python
PIP和conda 更换国内安装源的方法步骤
2020/09/21 Python
用Python制作音乐海报
2021/01/26 Python
css3 column实现卡片瀑布流布局的示例代码
2018/06/22 HTML / CSS
HTML5 canvas实现雪花飘落特效
2016/03/08 HTML / CSS
使用HTML5 Geolocation实现一个距离追踪器
2018/04/09 HTML / CSS
英国最大的在线蜡烛商店:Candles Direct
2019/03/26 全球购物
产品售后服务承诺书
2014/05/21 职场文书
不同意离婚代理词
2015/05/23 职场文书
详细了解MVC+proxy
2021/07/09 Java/Android