JQuery实现绚丽的横向下拉菜单


Posted in Javascript onDecember 19, 2013

以前经常看见网站有菜单的显示,鼠标移上去就出现下拉的效果,很绚丽,经过看JQuery视频后,发现实现也挺容易的。
JQuery实现绚丽的横向下拉菜单 
Html中,通过<ul>和<li>标签将所需的元素写出来。 

<body> 
<ul> 
<li class="hmain"> 
<a href="#">菜单项1</a> 
<ul> 
<li> 
<a href="#"> 子菜单项11</a> 
</li> 
<li> 
<a href="#">子菜单项12</a> 
</li> 
</ul> 
</li> 
<li class="hmain"> 
<a href="#">菜单项2</a> 
<ul> 
<li> 
<a href="#">子菜单项21</a> 
</li> 
<li> 
<a href="#">子菜单项22</a> 
</li> 
</ul> 
</li> 
<li class="hmain"> 
<a href="#">菜单项3</a> 
<ul> 
<li> 
<a href="#">子菜单项31</a> 
</li> 
<li> 
<a href="#">子菜单项32</a> 
</li> 
</ul> 
</li> 
</ul> 
</body>

最外围的<ul>中元素<li>即为菜单项1、菜单项2、菜单项3,下拉菜单分别在各主菜单之下,如果菜单最外层为ul,一层每个主菜单放在一个li中,如果有子菜单,在这个主菜单的li中建立新的ul,再依次嵌套即可构建多层的菜单。

CSS中

ul,li{ 
/*清除ul和li上的小圆点*/ 
list-style:none; 
} 
ul{ 
/*清除子菜单的缩进值*/ 
padding:0; 
margin:0; } 
.hmain{ 
background-image:url(../images/title.gif); //前面的小三角 
background-repeat:repeat-x; 
width:120px; 
} 
li{ 
background-color:#EEEEEE; //背景图片覆盖背景色 
} 
a{ 
//取消所有的下划线 
text-decoration:none; 
padding-left:20px; 
display:block; /*块集元素可充满区域*/ 
display:inline-block; 
width:100px; 
padding-top:3px; 
padding-bottom:3px; 
} 
.hmain a{ 
color:white; 
background-image:url(../images/collapsed.gif); 
background-repeat:no-repeat; 
background-position:3px center; 
} 
.hmain li a{ 
color:black; 
background-image:none; 
} 
.hmain ul{ 
display:none; 
} 
.hmain{ 
float:left; 
margin-right:1px; 
}<strong> 
</strong>

Html中引用js文件jquery.js和menu.js,其中menu.js如下:
$(document).ready(function(){ 
//页面中的DOM已经装载完成时,执行的代码 
$(".main> a,.hmain a").click(function(){ 
//找到主菜单项对应的子菜单项 
var ulNode=$(this).next("ul"); 
ulNode.slideToggle(); 
changeIcon($(this)); 
}); 
$(".hmain").hover(function(){ 
$(this).children ("ul").slideToggle(); 
changeIcon($(this).children("a")); 
},function(){ 
$(this).children("ul").slideToggle(); 
changeIcon($(this).children("a")); 
}); 
}); 
/* 
*修改主菜单的指示图标 
*/ 
function changeIcon(mainNode){ 
if(mainNode){ 
if(mainNode.css("background-image").indexOf("collapsed.gif")>=0){ 
mainNode.css("background-image","url('images/expanded.gif')"); 
}else{ 
mainNode.css("background-image","url('images/collapsed.gif')"); 
} 
} 
}

这样绚丽的下拉菜单就完成了。实现很简单,不过里面的小知识点很零碎。例如:.main a和.main>a的不同之处,前者选择使用.main的这个class的元素内容所有的a节点,后者只选择.main的子节点中的a节点。

这样的例子应用性很强,在网站中使用让界面显得更加的美观,例子才看3个,抓紧时间继续看...

Javascript 相关文章推荐
javascript dom代码应用 简单的相册[firefox only]
Jun 12 Javascript
jQuery下的动画处理总结
Oct 10 Javascript
javascript将DOM节点添加到文档的方法实例分析
Aug 04 Javascript
js实现全国省份城市级联下拉菜单效果代码
Sep 07 Javascript
jquery trigger函数执行两次的解决方法
Feb 29 Javascript
辨析JavaScript中的Undefined类型与null类型
May 26 Javascript
JS实现title标题栏文字不间断滚动显示效果
Sep 07 Javascript
基于jquery二维码生成插件qrcode
Jan 07 Javascript
jQuery插件zTree实现删除树子节点的方法示例
Mar 08 Javascript
详解 vue.js用法和特性
Oct 15 Javascript
Vue 指令实现按钮级别权限管理功能
Apr 23 Javascript
JavaScript仿京东秒杀倒计时
Mar 17 Javascript
jquery prop的使用介绍及与attr的区别
Dec 19 #Javascript
js获取select选中的option的text示例代码
Dec 19 #Javascript
js 高效去除数组重复元素示例代码
Dec 19 #Javascript
无闪烁更新网页内容JS实现
Dec 19 #Javascript
javascript中字符串的定义示例代码
Dec 19 #Javascript
javascript中typeof的使用示例
Dec 19 #Javascript
javascript中普通函数的使用介绍
Dec 19 #Javascript
You might like
十天学会php(2)
2006/10/09 PHP
php笔记之:文章中图片处理的使用
2013/04/26 PHP
php使用PDO事务配合表格读取大量数据插入操作实现方法
2017/02/16 PHP
用innerhtml提高页面打开速度的方法
2013/08/02 Javascript
javascript读写XML实现广告轮换(兼容IE、FF)
2013/08/09 Javascript
js 判断上传文件大小及格式代码
2013/11/13 Javascript
javascript数组详解
2014/10/22 Javascript
javascript中一些util方法汇总
2015/06/10 Javascript
AngularJs 弹出模态框(model)
2016/04/07 Javascript
json的使用小结
2016/06/08 Javascript
Angular企业级开发——MVC之控制器详解
2017/02/20 Javascript
js实现日历与定时器
2017/02/22 Javascript
vue环境搭建简单教程
2017/11/07 Javascript
Vuex提升学习篇
2018/01/11 Javascript
layui实现数据表格隐藏列的示例
2019/10/25 Javascript
[05:03]2018DOTA2亚洲邀请赛主赛事首日回顾
2018/04/04 DOTA
python下函数参数的传递(参数带星号的说明)
2010/09/19 Python
python 根据pid杀死相应进程的方法
2017/01/16 Python
Python3 导入上级目录中的模块实例
2019/02/16 Python
pytorch GAN伪造手写体mnist数据集方式
2020/01/10 Python
Python3.7安装pyaudio教程解析
2020/07/24 Python
python爬虫用mongodb的理由
2020/07/28 Python
html5如何在Canvas中实现自定义路径动画示例
2017/09/18 HTML / CSS
Html5 APP中监听返回事件处理的方法示例
2018/03/15 HTML / CSS
Michael Kors美国官网:美式奢侈生活风格的代表
2016/11/25 全球购物
Nike加拿大官网:Nike.com (CA)
2019/04/09 全球购物
化工专业应届生求职信
2013/11/08 职场文书
行政文员岗位职责
2013/11/08 职场文书
工程师岗位职责
2013/11/08 职场文书
农业资源与环境专业自荐信范文
2013/12/30 职场文书
商务经理岗位职责
2014/08/03 职场文书
质量保证书格式
2015/02/27 职场文书
入党介绍人意见2015
2015/06/01 职场文书
Node实现搜索框进行模糊查询
2021/06/28 Javascript
使用pandas生成/读取csv文件的方法实例
2021/07/09 Python
Win11控制面板快捷键是什么?Win11打开控制面板的方法汇总
2022/07/07 数码科技