slideToggle+slideup实现手机端折叠菜单效果


Posted in Javascript onMay 25, 2017

折叠菜单的效果,网上有很多的插件,比如bootstrap的 Collapse ,很好用也很简单,但是如果你使用的不是bootstrap框架,就会造成很多不必要的麻烦,比如默认样式被修改,代码冗余等等,一般网上也有很多基于jQuery的插件,但是也都过于繁琐,今天我就给大家说下,使用jQuery自带的函数,实现这种效果,话不多少,直接上代码:

HTML部分:

<div class="box">
  <!-- 内容-->
  <ul class="inner">
    <li class="inner_title">绿色校园<span></span></li>
    <ol class="inner_style">
      <li>篮球场</li>
      <li>篮球场</li>
      <li>篮球场</li>
      <li>篮球场</li>
      <li>篮球场</li>
    </ol>
    <li class="inner_title">绿色校园<span></span></li>
    <ol class="inner_style">
      <li>篮球场</li>
      <li>篮球场</li>
      <li>篮球场</li>
      <li>篮球场</li>
      <li>篮球场</li>
      <li>篮球场</li>
    </ol>
    <li class="inner_title">绿色校园<span></span></li>
    <ol class="inner_style">
      <li>篮球场</li>
      <li>篮球场</li>
      <li>篮球场</li>
      <li>篮球场</li>
      <li>篮球场</li>
      <li>篮球场</li>
    </ol>
  </ul>
</div>

CSS部分:

<style>
  body{
    background: #dddddd;
  }
  .inner{
    background: #fff;
    width: 100%;
    overflow: hidden;
    list-style: none;
    margin: 0;
    padding: 0;
  }
  .inner .inner_title{
    background-color: #fff;
    width: 100%;
    padding: 0 2.5%;
    border-bottom: 1px solid #efefef;
    color: #343434;
    height: 40px;
    line-height: 40px;
    font-size: 16px;
    position: relative;
  }
  .inner .inner_title span{
    position: absolute;
    width: 20px;
    height: 20px;
    top: 50%;
    margin-top: -10px;
    right: 6%;
    background: url("images/arow_left.png") no-repeat center;
  }
  .inner .inner_title.active{
    color: #4db780;
  }
  .inner .inner_title.active span{
    background: url("images/arow_down.png") no-repeat center;
  }
  /*弹出的二级分类处理*/
  .inner .inner_style{
    margin: 0;
    list-style: none;
    width: 100%;
    background-color: #efefef;
    overflow: hidden;
    padding: 15px 3%;
  }
  .inner .inner_style li{
    float: left;
    color: #333;
    font-size: 14px;
    width: 21%;
    text-align: center;
    line-height: 30px;
    margin-right: 5%;
  }
</style>

js部分(记得引入jQuery):

<script>
  /**处理折叠效果**/
  (function ($) {
    $.fn.Fold = function (options) {
      //默认参数设置
      var settings = {
        speed: 300 //折叠速度(值越大越慢)
      }
      //不为空则合并参数
      if (options)
        $.extend(settings, options);

      //遵循链式原则
      return this.each(function () {
        //为每个li元素绑定点击事件
        $("> li", this).each(function () {
          $(this).bind("click", function () {
            //单击之前先判断当前菜单是否折叠
            if($(this).hasClass('active')){//折叠状态
              $(".inner ol").slideUp('500');//使用slideup()折叠其他选项
              $(this).removeClass('active');//移除选中样式
            }else{//打开状态
              $(this).siblings('li').removeClass('active');
              $(".inner ol").slideUp('500');//使用slideup()折叠其他选项
              $(this).addClass('active')//添加选中样式
              $(this).next("ol").slideToggle(settings.speed);
            }
          });
        });
        //默认折叠
        $("> ol", this).hide();
      });
    }
  })(jQuery);
  $(".inner").Fold();//调用
</script>

效果如下:

slideToggle+slideup实现手机端折叠菜单效果

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jQuery中$this和$(this)的区别介绍(一看就懂)
Jul 06 Javascript
JS实现点击上移下移LI行数据的方法
Aug 05 Javascript
jQuery表单验证功能实例
Aug 28 Javascript
微信小程序商城项目之商品属性分类(4)
Apr 17 Javascript
JS闭包的几种常见形式实例详解
Sep 16 Javascript
详解Angular-ui-BootStrap组件的解释以及使用
Jul 13 Javascript
关于微信小程序bug记录与解决方法
Aug 15 Javascript
小程序图片长按识别功能的实现方法
Aug 30 Javascript
vue-router命名视图的使用讲解
Jan 19 Javascript
微信小程序如何访问公众号文章
Jul 08 Javascript
手写Vue弹窗Modal的实现代码
Sep 11 Javascript
结合axios对项目中的api请求进行封装操作
Sep 21 Javascript
Bootstrap实现的标签页内容切换显示效果示例
May 25 #Javascript
React-router中结合webpack实现按需加载实例
May 25 #Javascript
node.js操作mongodb简单示例分享
May 25 #Javascript
React-router 4 按需加载的实现方式及原理详解
May 25 #Javascript
node.js操作mysql简单实例
May 25 #Javascript
基于vue实现swipe分页组件实例
May 25 #Javascript
Javascript 实现匿名递归的实例代码
May 25 #Javascript
You might like
深入file_get_contents函数抓取内容失败的原因分析
2013/06/25 PHP
PHP 7安装调试工具Xdebug扩展的方法教程
2017/06/17 PHP
JavaScript中常见陷阱小结
2010/04/27 Javascript
EasyUi tabs的高度与宽度根据IE窗口的变化自适应代码
2010/10/26 Javascript
js关闭当前页面(窗口)的几种方式总结
2013/03/05 Javascript
js 中的switch表达式使用示例
2020/06/03 Javascript
Jquery Mobile 自定义按钮图标
2015/11/18 Javascript
AngularJS入门教程之服务(Service)
2016/07/27 Javascript
js阻止移动端页面滚动的两种方法
2017/01/25 Javascript
JavaScript中数组Array方法详解
2017/02/27 Javascript
基于vue.js无缝滚动效果
2018/01/25 Javascript
微信小程序实现animation动画
2018/01/26 Javascript
Vue父子组件之间的通信实例详解
2018/09/28 Javascript
Node.js + express实现上传大文件的方法分析【图片、文本文件】
2019/03/14 Javascript
vue修改Element的el-table样式的4种方法
2020/09/17 Javascript
使用JavaScript实现贪吃蛇游戏
2020/09/29 Javascript
[13:18]《一刀刀一天》之DOTA全时刻21:详解TI新赛制 A队再露獠牙
2014/06/24 DOTA
Python创建系统目录的方法
2015/03/11 Python
使用Python操作excel文件的实例代码
2017/10/15 Python
Python编程pygal绘图实例之XY线
2017/12/09 Python
Django代码性能优化与Pycharm Profile使用详解
2018/08/26 Python
python redis 删除key脚本的实例
2019/02/19 Python
django认证系统 Authentication使用详解
2019/07/22 Python
flask/django 动态查询表结构相同表名不同数据的Model实现方法
2019/08/29 Python
Python configparser模块配置文件过程解析
2020/03/03 Python
利用python对excel中一列的时间数据更改格式操作
2020/07/14 Python
Canvas波浪花环的示例代码
2020/08/21 HTML / CSS
Cotton On香港网站:澳洲时装连锁品牌
2018/11/01 全球购物
学习新党章思想汇报
2014/01/09 职场文书
幼儿园教师工作制度
2014/01/22 职场文书
2014年高考决心书
2014/03/11 职场文书
广告创意求职信
2014/03/17 职场文书
毕业晚会主持词
2014/03/24 职场文书
法院反腐倡廉心得体会
2014/09/09 职场文书
网络销售员岗位职责
2015/04/11 职场文书
2015年小学数学教师工作总结
2015/05/20 职场文书