jQuery实现的纵向下拉菜单实例详解【附demo源码下载】


Posted in Javascript onJuly 09, 2016

本文实例讲述了jQuery实现的纵向下拉菜单。分享给大家供大家参考,具体如下:

当我们浏览网页和使用word编辑一下文字的时候,我们都能看见横向下拉的身影,有了横向菜单,我们能对整个界面进行更好的布局,达到我们想要的效果,那么这些横向菜单式如何用代码实现的,当我们浏览或使用的时候她又是如何呈现在我们面前的,学习了JQuery之后,小编渐渐看到她美丽的容颜,接下来,小编主要讲解如何通过jquery实现纵向下拉菜单。

第一步,我们来编写html的代码,如下所示:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
 <head>
  <title>JQuery实战-菜单效果</title>
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  <link type="text/css" rel="stylesheet" href="css/menu.css" />
  <script type="text/javascript" src="js/jquery.js"></script>
  <script type="text/javascript" src="js/menu.js"></script>
 </head>
 <body>
   <ul>
   <li class="main">
    <a href="#">菜单项1</a>
   <ul>
    <li>
     <a href="#">子菜单项11</a>
    </li>
    <li>
     <a href="#">子菜单项12</a>
    </li>
   </ul>
   </li>
   <li class="main">
   <a href="#">菜单项2</a>
   <ul>
    <li>
     <a href="#">子菜单项21</a>
    </li>
    <li>
     <a href="#">子菜单项22</a>
    </li>
   </ul>
   </li>
   <li class="main">
   <a href="#">菜单项3</a>
   <ul>
    <li>
     <a href="#">子菜单项31</a>
    </li>
    <li>
     <a href="#">子菜单项32</a>
    </li>
   </ul>
   </li>
   </ul>
 </body>
</html>

我们来看一下运行效果:

jQuery实现的纵向下拉菜单实例详解【附demo源码下载】

上面的实现效果已经初步具有了纵向菜单的模型,但是似乎有不完美的地方,主菜单的前面有黑色的小圆点,子菜单前面有白色的小圆点,也没有立体的效果,不用担心css可以帮助我们解决上述的问题,接着,编写css的代码,如下所示:

ul,li{
 /*清除ul和li上默认的小圆点*/
 list-style:none;
}
ul{
 /*清除子菜单的缩进值*/
 padding:0;
 margin:0;
}
.main{
 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;
}
.main a{
 color:white;
 background-image:url(../images/collapsed.gif);
 background-repeat:no-repeat;
 background-position:3px center;
}
.main li a{
  color:black;
  background-image:none;
}
.main ul{
 display:none;
}

添加了css的代码,在显示的时候会有怎么样的惊喜带给我们呢?

jQuery实现的纵向下拉菜单实例详解【附demo源码下载】

上图的显示效果已经就更为接近我们的想好实现的效果了,但是这个还是不可以进行点击的,所以我们还需要编写js的代码,相应的,在js中我们也要建立两个文件,一个jquery一个menu,鉴于jquery的代码较多,所以小编已经上传相关资源,有需要的小伙伴可以点击文末链接下载,接着,我们来编写menu的代码,来给整理页面添加行为能力,代码如下:

$(document).ready(function(){
 //页面中的DOM已经装载完成时,执行的代码
 $(".main > a").click(function(){
  //找到主要菜单项对应的子菜单项
  var ulNode =$(this).next("ul");
  /*
  if(ulNode.css("display")=="none")
  {
   ulNode.css("display","block");
  }else{
   ulNode.css("display","none");
  }
  */
  /*菜单出现的动画效果*/
  ulNode.show("slow");//normal fast
  //unlNode.hide();
  //ulNode.toggle();
  //
  //ulNode.slideDown("slow");
  //ulNode.slideUP;
  ulNode.sildeToggle();
 });
})

添加了js的代码,现在实现的效果是不是和我们想象的一样呢,如下图所示:

jQuery实现的纵向下拉菜单实例详解【附demo源码下载】

以上就是小编实现的纵向下拉菜单的全部过程,既然可以实现纵向下拉菜单,那么横向下拉菜单又该如何实现呢,更纵向菜单的实现过程有哪些不一样的地方nie,这个过程才是我们成长的过程,在这里横向菜单小编就不一一介绍了,完整实例代码点击此处本站下载。有需要的小伙伴可以down下来,自己研究。

希望本文所述对大家jQuery程序设计有所帮助。

Javascript 相关文章推荐
Extjs在exlipse中设置自动提示的方法
Apr 07 Javascript
Javascript倒计时代码
Aug 12 Javascript
jQueryUI写一个调整分类的拖放效果实现代码
May 10 Javascript
javascript 拷贝节点cloneNode()使用介绍
Apr 03 Javascript
JQuery中基础过滤选择器用法实例分析
May 18 Javascript
用JavaScript判断CSS浏览器类型前缀的两种方法
Oct 08 Javascript
解决vue2.x中数据渲染以及vuex缓存的问题
Jul 13 Javascript
使用Vue开发一个实时性时间转换指令
Jan 17 Javascript
详解如何配置vue-cli3.0的vue.config.js
Aug 23 Javascript
Koa 中的错误处理解析
Apr 09 Javascript
js实现随机8位验证码
Jul 24 Javascript
Vue-axios-post数据后端接不到问题解决
Jan 09 Javascript
EasyUI Pagination 分页的两种做法小结
Jul 09 #Javascript
jQuery实现可以编辑的表格实例详解【附demo源码下载】
Jul 09 #Javascript
JavaScript基础知识点归纳(推荐)
Jul 09 #Javascript
jQuery EasyUI学习教程之datagrid点击列表头排序
Jul 09 #Javascript
jQuery简单入门示例之用户校验demo示例
Jul 09 #Javascript
jQuery Easyui学习教程之实现datagrid在没有数据时显示相关提示内容
Jul 09 #Javascript
JQuery EasyUI学习教程之datagrid 添加、修改、删除操作
Jul 09 #Javascript
You might like
ThinkPHP中url隐藏入口文件后接收alipay传值的方法
2014/12/09 PHP
php使用pdo连接报错Connection failed SQLSTATE的解决方法
2014/12/15 PHP
php 自定义函数实现将数据 以excel 表格形式导出示例
2019/11/13 PHP
简短几句jquery代码的实现一个图片向上滚动切换
2011/09/02 Javascript
5个最佳的Javascript日期处理类库分享
2012/04/15 Javascript
定时器(setTimeout/setInterval)调用带参函数失效解决方法
2013/03/26 Javascript
jquery ajax,ashx,json的用法总结
2014/02/12 Javascript
jQuery实现的多选框多级联动插件
2014/05/02 Javascript
jQuery焦点图切换简易插件制作过程全纪录
2014/08/27 Javascript
javascript的函数作用域
2014/11/12 Javascript
JavaScript中的对象序列化介绍
2014/12/30 Javascript
js中 javascript:void(0) 用法详解
2015/08/11 Javascript
跟我学习javascript的arguments对象
2015/11/16 Javascript
node.js从数据库获取数据
2016/05/08 Javascript
js遍历map javaScript遍历map的简单实现
2016/08/26 Javascript
vue增删改查的简单操作
2017/07/15 Javascript
Bootstrap + AngularJS 实现简单的数据过滤字符查找功能
2017/07/27 Javascript
详解Vue项目编译后部署在非网站根目录的解决方案
2018/04/26 Javascript
微信小程序实现美团菜单
2018/06/06 Javascript
微信小程序使用自定义组件导航实现当前页面高亮
2020/01/02 Javascript
vue将data恢复到初始状态 &amp;&amp; 重新渲染组件实例
2020/09/04 Javascript
Python性能优化的20条建议
2014/10/25 Python
Python中的元类编程入门指引
2015/04/15 Python
python简单图片操作:打开\显示\保存图像方法介绍
2017/11/23 Python
使用Python爬取最好大学网大学排名
2018/02/24 Python
浅析python redis的连接及相关操作
2019/11/07 Python
Python FFT合成波形的实例
2019/12/04 Python
python Qt5实现窗体跟踪鼠标移动
2019/12/13 Python
python保留小数位的三种实现方法
2020/01/07 Python
Python tkinter界面实现历史天气查询的示例代码
2020/08/23 Python
快速创建 HTML5 Canvas 电信网络拓扑图的示例代码
2018/03/21 HTML / CSS
给女朋友的道歉信
2014/01/10 职场文书
优秀毕业生求职信
2014/06/05 职场文书
单位法人授权委托书范本
2014/10/09 职场文书
检讨书1000字
2014/10/11 职场文书
土地租赁协议书
2015/01/29 职场文书