jQuery结合CSS制作动态的下拉菜单


Posted in Javascript onOctober 27, 2015

当要在一个有限的导航菜单空间放一个大的子菜单时,我们一般采用下拉菜单的形式来弥补空间的不足。本文将带大家用最少的时间,使用jQuery和CSS结合制作一个动态的下拉菜单。

jQuery结合CSS制作动态的下拉菜单

XHTML
首先是要在页面的head部分引入jquery库,这是必须的。

<script type="text/javascript" src="js/jquery.js"></script>

接着我使用一个无序列表来构建菜单。

<ul class="menu"> 
  <li><a href="#">首页</a></li> 
  <li><a href="#">服务</a></li> 
  <li><a href="#">案例</a></li> 
  <li><a href="#">关于</a></li> 
  <li><a href="#">BLOG</a></li> 
</ul>

一目了然,看起来非常简洁,由于下拉菜单开始是关闭的,我还要建立一个可视的可触发下拉的按钮,本文为了方便直接使用了一张图片作为触发按钮。并将图片放置菜单列表上部

<img src="nav.gif" width="184" height="32" class="menu_head" />

CSS
分别给菜单建立起CSS样式,请看代码:

.menu_head{border:1px solid #998675; background:#f30} 
.menu{display:none; width:184px; border:1px solid #998675; border-top:none} 
.menu li{list-style:none; background:#493e3b} 
.menu li a{padding:10px; display:block;color:#fff; text-decoration:none;} 
.menu li a:hover{font-weight:bold;} 
.menu li.alt{background:#362f2d;}

值得注意的是,.menu li.alt样式是用来区分奇偶行换行要用的,在下文的jquery代码中会体现。
jQuery
在jQuery代码中,首先我要个下拉菜单行数进行区分,分别给偶数行一个样式:alt。接着为图片按钮添加单击触发事件,当单击按钮时可以切换下拉菜单。

$(function(){ 
  $(".menu li:even").addClass("alt"); 
  $("img.menu_head").click(function(){ 
    $(".menu").slideToggle("fast"); 
  }); 
});

注意我使用了jQuery的slideToggle方法以滑动的方式实现菜单的显示和隐藏,效果非常流畅。

以上就是分享的jQuery结合CSS制作动态的下拉菜单,希望对大家的学习有所帮助。

Javascript 相关文章推荐
如何让div span等元素能响应键盘事件操作指南
Nov 13 Javascript
jquery 插件开发 extjs中的extend用法小结
Jan 04 Javascript
javascript的tab切换原理与效果实现方法
Jan 10 Javascript
JS实现可拖曳、可关闭的弹窗效果
Sep 26 Javascript
javascript返回顶部的按钮实现方法
Jan 09 Javascript
浅谈JavaScript中面向对象的的深拷贝和浅拷贝
Aug 01 Javascript
Javascript 高性能之递归,迭代,查表法详解及实例
Jan 08 Javascript
详解AngularJS controller调用factory
May 19 Javascript
Jquery中attr与prop的区别详解
May 27 jQuery
js简易版购物车功能
Jun 17 Javascript
vue中使用heatmapjs的示例代码(结合百度地图)
Sep 05 Javascript
Vue中axios的封装(报错、鉴权、跳转、拦截、提示)
Aug 20 Javascript
jquery实现的V字形显示效果代码
Oct 27 #Javascript
JS基于Ajax实现的网页Loading效果代码
Oct 27 #Javascript
基于Jquery+div+css实现弹出登录窗口(代码超简单)
Oct 27 #Javascript
JS实现浏览器状态栏文字闪烁效果的方法
Oct 27 #Javascript
JS实现浏览器状态栏显示时间的方法
Oct 27 #Javascript
JavaScript模块规范之AMD规范和CMD规范
Oct 27 #Javascript
JS实现浏览器状态栏文字从右向左弹出效果代码
Oct 27 #Javascript
You might like
PHP数据库操作面向对象的优点
2006/10/09 PHP
一次编写,随处运行
2006/10/09 PHP
超级强大的表单验证
2006/06/26 Javascript
共享自己写一个框架DreamScript
2007/01/20 Javascript
如何使Chrome控制台支持多行js模式——意外发现
2013/06/13 Javascript
js获取窗口相对于屏幕左边和上边的位置坐标
2014/05/15 Javascript
js实现无限级树形导航列表效果代码
2015/09/23 Javascript
javascript中eval解析JSON字符串
2016/02/27 Javascript
由浅入深剖析Angular表单验证
2016/07/14 Javascript
javascript数组遍历的方法实例分析
2016/09/13 Javascript
Node.js复制文件的方法示例
2016/12/29 Javascript
vue-cli如何快速构建vue项目
2017/04/26 Javascript
JS 调试中常见的报错问题解决方法
2017/05/20 Javascript
vue+swiper实现组件化开发的实例代码
2017/10/26 Javascript
JavaScript原型对象、构造函数和实例对象功能与用法详解
2018/08/04 Javascript
Vuex中的State使用介绍
2019/01/19 Javascript
vue element-ui实现动态面包屑导航
2019/12/23 Javascript
基于vue.js实现购物车
2020/01/15 Javascript
解决vue 给window添加和移除resize事件遇到的坑
2020/07/21 Javascript
vue内置组件component--通过is属性动态渲染组件操作
2020/07/28 Javascript
vue-router 控制路由权限的实现
2020/09/24 Javascript
vue实现移动端返回顶部
2020/10/12 Javascript
Vue Elenent实现表格相同数据列合并
2020/11/30 Vue.js
[01:33]一分钟玩转DOTA2第三弹:DOTA2&DotA快捷操作大对比
2014/06/04 DOTA
Python中字典的基础知识归纳小结
2015/08/19 Python
Python上传package到Pypi(代码简单)
2016/02/06 Python
python读取oracle函数返回值
2016/07/18 Python
python中wx模块的具体使用方法
2020/05/15 Python
Python爬虫破解登陆哔哩哔哩的方法
2020/11/17 Python
Html5+JS实现手机摇一摇功能
2015/04/24 HTML / CSS
淘宝活动策划方案
2014/02/06 职场文书
伦敦奥运会的口号
2014/06/21 职场文书
幸福家庭标语
2014/06/27 职场文书
社区精神文明建设汇报材料
2014/08/17 职场文书
西部计划志愿者工作总结
2015/08/11 职场文书
2016年元旦寄语
2015/08/17 职场文书