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 相关文章推荐
Javascript代码混淆综合解决方案-Javascript在线混淆器
Dec 18 Javascript
网页javascript精华代码集
Jan 24 Javascript
CLASS_CONFUSION JS混淆 全源码
Dec 12 Javascript
JS实现网页右侧带动画效果的伸缩窗口代码
Oct 29 Javascript
webpack+vue.js快速入门教程
Oct 12 Javascript
canvas绘制环形进度条
Feb 23 Javascript
Bootstrap表单制作代码
Mar 17 Javascript
vue2的todolist入门小项目的详细解析
May 11 Javascript
微信运维交互机器人的示例代码
Nov 12 Javascript
重置Redux的状态数据的方法实现
Nov 18 Javascript
如何在JavaScript中创建具有多个空格的字符串?
Feb 23 Javascript
vue实现循环滚动列表
Jun 30 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
zf框架的db类select查询器join链表使用示例(zend框架)
2014/03/14 PHP
PHP获取时间排除周六、周日的两个方法
2014/06/30 PHP
ecshop实现smtp发送邮件
2015/02/03 PHP
Zend Framework使用Zend_Loader组件动态加载文件和类用法详解
2016/12/09 PHP
详解PHP的抽象类和抽象方法以及接口总结
2019/03/15 PHP
JavaScript取得鼠标绝对位置程序代码介绍
2012/09/16 Javascript
Extjs4 类的定义和扩展实例
2013/06/28 Javascript
javascript获取设置div的高度和宽度兼容任何浏览器
2013/09/22 Javascript
javaScript 事件绑定、事件冒泡、事件捕获和事件执行顺序整理总结
2016/10/10 Javascript
Bootstrap 3浏览器兼容性问题及解决方案
2017/04/11 Javascript
jQuery实现所有验证通过方可提交的表单验证
2017/11/21 jQuery
微信小程序页面跳转功能之从列表的item项跳转到下一个页面的方法
2017/11/27 Javascript
说说node中的可读流和可写流的区别
2018/06/01 Javascript
Vue父子组建的简单通信之控制开关Switch的实现
2018/06/04 Javascript
Vue.js实现可排序的表格组件功能示例
2019/02/19 Javascript
开发中常用的25个JavaScript单行代码(小结)
2019/06/28 Javascript
JS实现简单打字测试
2020/06/24 Javascript
[03:49]显微镜下的DOTA2第十五期—VG登基之路完美团
2014/06/24 DOTA
python读取csv文件示例(python操作csv)
2014/03/11 Python
Python学习之asyncore模块用法实例教程
2014/09/29 Python
Python标准库之循环器(itertools)介绍
2014/11/25 Python
Django框架实现的简单分页功能示例
2018/12/04 Python
pytorch:model.train和model.eval用法及区别详解
2020/02/20 Python
浅谈selenium如何应对网页内容需要鼠标滚动加载的问题
2020/03/14 Python
pycharm配置python 设置pip安装源为豆瓣源
2021/02/05 Python
50道外企软件测试面试题
2014/08/18 面试题
史上最全面的Java面试题汇总!
2015/02/03 面试题
药学专业大学生个人的自我评价
2013/11/04 职场文书
护理专业优质毕业生自荐书
2014/01/31 职场文书
洗手间标语
2014/06/23 职场文书
机器人总动员观后感
2015/06/09 职场文书
创业计划书之面包店
2019/09/12 职场文书
写作之关于描写老人的好段摘抄
2019/11/14 职场文书
JavaScript 与 TypeScript之间的联系
2021/11/27 Javascript
基于Redis6.2.6版本部署Redis Cluster集群的问题
2022/04/01 Redis
tomcat的catalina.out日志按自定义时间格式进行分割的操作方法
2022/04/02 Servers