基于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 相关文章推荐
javascript 时间比较实现代码
Oct 28 Javascript
json 入门基础教程 推荐
Oct 31 Javascript
JavaScript 对任意元素,自定义右键菜单的实现方法
May 08 Javascript
js实现数字每三位加逗号的方法
Feb 05 Javascript
javascript倒计时效果实现
Nov 12 Javascript
js轮盘抽奖实例分析
Apr 17 Javascript
JavaScript使用简单正则表达式的数据验证功能示例
Jan 13 Javascript
js form表单input框限制20个字符,10个汉字代码实例
Apr 12 Javascript
js针对图片加载失败的处理方法分析
Aug 24 Javascript
webpack的tree shaking的实现方法
Sep 18 Javascript
浅谈vuex的基本用法和mapaction传值问题
Nov 08 Javascript
JS如何实现在弹出窗口中加载页面
Dec 03 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
jquery+php+ajax显示上传进度的多图片上传并生成缩略图代码
2014/10/15 PHP
php中instanceof 与 is_a()区别分析
2015/03/03 PHP
php实现上传图片文件代码
2015/07/19 PHP
PHP常用技巧汇总
2016/03/04 PHP
jQuery 性能优化指南 (1)
2009/05/21 Javascript
jQuery实现table隔行换色和鼠标经过变色的两种方法
2014/06/15 Javascript
node.js中的fs.ftruncate方法使用说明
2014/12/15 Javascript
使用JavaScript+canvas实现图片裁剪
2015/01/30 Javascript
Vuejs第六篇之Vuejs与form元素实例解析
2016/09/05 Javascript
深入理解bootstrap框架之第二章整体架构
2016/10/09 Javascript
使用JQ完成表格隔行换色的简单实例
2017/08/25 Javascript
浅析Javascript中双等号(==)隐性转换机制
2017/10/27 Javascript
JS严格模式知识点总结
2018/02/27 Javascript
Javascript实现购物车功能的详细代码
2018/05/08 Javascript
JS判断字符串是否为整数的方法--简单的正则判断
2018/07/23 Javascript
vue 实现在函数中触发路由跳转的示例
2018/09/01 Javascript
AngularJS修改model值时,显示内容不变的实例
2018/09/13 Javascript
vue-awesome-swiper 基于vue实现h5滑动翻页效果【推荐】
2018/11/08 Javascript
通过cordova将vue项目打包为webapp的方法
2019/02/02 Javascript
JS正则表达式验证端口范围(0-65535)
2020/01/06 Javascript
解决Can't find variable: SockJS vue项目的问题
2020/09/22 Javascript
JavaScript实现网页tab栏效果制作
2020/11/20 Javascript
[01:08:00]Fnatic vs Winstrike 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
[02:46]完美世界DOTA2联赛PWL DAY4集锦
2020/11/03 DOTA
python实现简单socket程序在两台电脑之间传输消息的方法
2015/03/13 Python
用Python进行行为驱动开发的入门教程
2015/04/23 Python
python中模块的__all__属性详解
2017/10/26 Python
numpy 对矩阵中Nan的处理:采用平均值的方法
2018/10/30 Python
对python中Librosa的mfcc步骤详解
2019/01/09 Python
详解Python中如何将数据存储为json格式的文件
2020/11/18 Python
HTML5 Convas APIs方法详解
2015/04/24 HTML / CSS
临床医师专业个人自我评价范文
2013/11/07 职场文书
社区班子对照检查材料
2014/08/27 职场文书
个人三严三实对照检查材料
2014/09/25 职场文书
2016年“我们的节日·重阳节”主题活动总结
2016/04/01 职场文书
Vue项目中如何封装axios(统一管理http请求)
2021/05/02 Vue.js