基于jQuery实现简单的折叠菜单效果


Posted in Javascript onNovember 23, 2015

本文实例讲述了JQuery实现简单的折叠菜单效果代码。分享给大家供大家参考。具体如下:
运行效果截图如下:

基于jQuery实现简单的折叠菜单效果

Html代码如下:

<div class="box">
  <p>菜单一</p>
  <ul>
   <li><a>1111</a></li>
   <li><a>1111</a></li>
   <li><a>1111</a></li>
  </ul>
  <p>菜单二</p>
  <ul>
   <li><a>2222</a></li>
   <li><a>2222</a></li>
   <li><a>2222</a></li>
  </ul>
  <p>菜单三</p>
  <ul>
   <li><a>3333</a></li>
   <li><a>3333</a></li>
   <li><a>3333</a></li>
  </ul>
</div>

插件实现代码如下:

(function ($) {
   $.fn.Fold = function (options) {
    //默认参数设置
    var settings = {
     speed: 300 //折叠速度(值越大越慢)
    }

    //不为空则合并参数
    if (options)
     $.extend(settings, options);



 




 //遵循链式原则




 return this.each(function () {

    
//为每个p元素绑定点击事件
    
$("> p", this).each(function () {
     
$(this).bind("click", function () {
      
$(this).next("ul").slideToggle(settings.speed);
     
});
    
});

    
//默认第一个展开,其它折叠
    
$("> ul", this).hide().first().show();
    
    });
   }
})(jQuery);

这里就不作讲解了,注释都写明了。
示例DEMO如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
 <title></title>
 <style type="text/css">
  *{padding:0;margin:0;}
  ul,ul li{ list-style:none;}
  .box{ width:250px; margin:50px auto; border:1px solid gray;}
  .box p{ background-color: Green;color: white;cursor: pointer;font-weight: bold;
  line-height: 40px;padding-left: 15px;}
 </style>
</head>
<body>
 <div class="box">
  <p>菜单一</p>
  <ul>
   <li><a>1111</a></li>
   <li><a>1111</a></li>
   <li><a>1111</a></li>
  </ul>
  <p>菜单二</p>
  <ul>
   <li><a>2222</a></li>
   <li><a>2222</a></li>
   <li><a>2222</a></li>
  </ul>
  <p>菜单三</p>
  <ul>
   <li><a>3333</a></li>
   <li><a>3333</a></li>
   <li><a>3333</a></li>
  </ul>
 </div>

 <script src="../js/jquery-1.4.1.min.js" type="text/javascript"></script>
 <script src="../js/jquery.similar.Fold.js" type="text/javascript"></script>
 <script type="text/javascript">
  $(".box").Fold();
 </script>
</body>
</html>

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

Javascript 相关文章推荐
jQuery之日期选择器的深入解析
Jun 19 Javascript
js动态创建表格,删除行列的小例子
Jul 20 Javascript
AngularJS的表单使用详解
Jun 17 Javascript
微信小程序实战之登录页面制作(5)
Mar 30 Javascript
详解webpack 多页面/入口支持&amp;公共组件单独打包
Jun 29 Javascript
js封装成插件的步骤方法
Sep 11 Javascript
详解VUE 对element-ui中的ElTableColumn扩展
Mar 28 Javascript
vue组件中的样式属性scoped实例详解
Oct 30 Javascript
JavaScript函数重载操作实例浅析
May 02 Javascript
JavaScript常用8种数组去重代码实例
Sep 09 Javascript
解读Vue组件注册方式
May 15 Vue.js
解析原生JS getComputedStyle
May 25 Javascript
jquery无限级联下拉菜单简单实例演示
Nov 23 #Javascript
jquery实现图片放大镜功能
Nov 23 #Javascript
jquery自定义表格样式
Nov 23 #Javascript
jquery实现表单验证简单实例演示
Nov 23 #Javascript
JavaScript与HTML的结合方法详解
Nov 23 #Javascript
js实现接收表单的值并将值拼在表单action后面的方法
Nov 23 #Javascript
跟我学习javascript的垃圾回收机制与内存管理
Nov 23 #Javascript
You might like
ecshop 批量上传(加入自定义属性)
2012/03/20 PHP
PHP得到某段时间区间的时间戳 php定时任务
2012/04/12 PHP
wamp服务器访问php非常缓慢的解决过程
2015/07/01 PHP
JavaScript中:表达式和语句的区别[译]
2012/09/17 Javascript
javascript常见操作汇总
2014/09/03 Javascript
详解AngularJS过滤器的使用
2016/03/11 Javascript
基于JQuery的$.ajax方法进行异步请求导致页面闪烁的解决办法
2016/05/10 Javascript
jQuery获取访问者IP地址的方法(基于新浪API与QQ查询接口)
2016/05/25 Javascript
jquery按回车键实现表单提交的简单实例
2016/05/25 Javascript
使用纯JS代码判断字符串中有多少汉字的实现方法(超简单实用)
2016/11/12 Javascript
ES6实现的遍历目录函数示例
2017/04/07 Javascript
从零开始学习Node.js系列教程四:多页面实现数学运算的client端和server端示例
2017/04/13 Javascript
Node 自动化部署的方法
2017/10/17 Javascript
vue+webpack模拟后台数据的示例代码
2018/07/26 Javascript
vue+elementUI 复杂表单的验证、数据提交方案问题
2019/06/24 Javascript
vue远程加载sfc组件思路详解
2019/12/25 Javascript
vue.js this.$router.push获取不到params参数问题
2020/03/03 Javascript
详解JavaScript自定义函数
2020/07/29 Javascript
jquery实现抽奖功能
2020/10/22 jQuery
对于Python中线程问题的简单讲解
2015/04/03 Python
python连接字符串的方法小结
2015/07/13 Python
Python脚本实现12306火车票查询系统
2016/09/30 Python
python音频处理用到的操作的示例代码
2017/10/27 Python
解决Matplotlib图表不能在Pycharm中显示的问题
2018/05/24 Python
python中类的属性和方法介绍
2018/11/27 Python
python实现QQ邮箱/163邮箱的邮件发送
2019/01/22 Python
通过cmd进入python的实例操作
2019/06/26 Python
详解python中GPU版本的opencv常用方法介绍
2020/07/24 Python
毕业研究生的自我鉴定
2013/11/30 职场文书
教育英语专业毕业生的求职信
2014/03/13 职场文书
工会工作个人总结
2015/03/03 职场文书
公司停电通知
2015/04/15 职场文书
Redis 中使用 list,streams,pub/sub 几种方式实现消息队列的问题
2022/03/16 Redis
为什么MySQL不建议使用SELECT *
2022/04/03 MySQL
Python采集股票数据并制作可视化柱状图
2022/04/04 Python
python playwrigh框架入门安装使用
2022/07/23 Python