基于jquery实现简单的手风琴特效


Posted in Javascript onNovember 24, 2015

手风琴效果是项目中使用频率较高的一种效果,本文实例J就为大家讲述了jquery实现简单的手风琴特效代码。分享给大家供大家参考。具体如下:
运行效果截图如下:

基于jquery实现简单的手风琴特效基于jquery实现简单的手风琴特效

具体代码如下:

css样式

/* CSS Document */
body {
  margin: 0 auto;
  padding: 0 auto;
  font-size: 9pt;
  font-family: 微软雅黑, 宋体, Arial, Helvetica, Verdana, sans-serif;
}
.accordion {
  padding-left: 0px;
}
.accordion li {
  border-top: 1px solid #000;
  list-style-type: none;
}
.titlemenu {
  width: 100%;
  height: 30px;
  background-color: #F2F2F2;
  padding: 5px 0px;
  text-align: left;
  cursor: pointer;
}
.titlemenu img {
  position: relative;
  left: 20px;
  top: 5px;
}
.titlemenu span {
  display: inline-block;
  position: relative;
  left: 40px;
}
.submenu {
  text-align: left;
  width: 100%;
  padding-left: 0px;
}
.submenu li {
  list-style-type: none;
  width: 100%;
}
.submenu li img {
  position: relative;
  left: 20px;
  top: 5px;
}
.submenu li a {
  position: relative;
  left: 40px;
  top: 5px;
  text-decoration: none;
}
.submenu li span {
  display: inline-block;
  height: 30px;
  padding: 5px 0px;
}
.hover {
  background-color: #4A5B79;
}

自定义js

(function ($) {
  piano = function () {
    _menu ='[{"title":"一级目录","img":"images/cog.png","submenu":[{"title":"二级目录","img":"images/monitor_window_3d.png"},{"title":"二级目录","img":"images/monitor_window_3d.png"},{"title":"二级目录","img":"images/monitor_window_3d.png"}]},{"title":"一级目录","img":"images/cog.png","submenu":[{"title":"二级目录","img":"images/monitor_window_3d.png"},{"title":"二级目录","img":"images/monitor_window_3d.png"},{"id":"4","title":"二级目录","img":"images/monitor_window_3d.png"}]}]';
    return ep = {
      init: function (obj) {
        _menu = eval('(' + _menu + ')');
         var li ="";
        $.each(_menu, function (index, element) {
          li += '<li><div class="titlemenu"><img src=' + element.img + ' width="16" height="16" alt=""/><span>' + element.title + '</span></div>';
          if(element.submenu!=null)
          {
            li+='<ul class="submenu">';
            $.each(element.submenu, function (ind, ele) {
              li += '<li><img src=' + ele.img + ' width="16" height="16" alt=""/><span><a href="#">' + ele.title + '</a></span></li>';
            });
            li+='</ul>';
          }
          li+='</li>';
        });
        obj.append(li);
      }
    }
  }

  $.fn.accordion = function (options) {
    var pia = new piano();
    pia.init($(this));
    return this.each(function () {
      var accs = $(this).children('li');
       accs.each(reset);
      accs.click(onClick);
      var menu_li = $(".submenu").children("li");
      menu_li.each(function (index, element) {
        $(this).mousemove(function (e) {
          $(this).siblings().removeClass("hover");
          $(this).find("a").css("color", "#fff");
          $(this).siblings().find("a").css("color", "#000");
          $(this).addClass("hover");
        });
      });
    });
  }

  function onClick() {
    $(this).siblings('li').find("ul").each(hide);
    $(this).find("ul").slideDown('normal');
    return false;
  }

  function hide() {
    $(this).slideUp('normal');
  }

  function reset() {
    $(this).find("ul").hide();
  }
})(jQuery);

html调用方式

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>无标题文档</title>
<script src="jquery-1.8.0.min.js"></script>
<link rel="stylesheet" type="text/css" href="style.css">
<script src="accordion.js"></script>
<script type="text/javascript">      
  $(function(){
    $("#accordion").accordion();
  });
</script>
</head>
<body>
<ul id="accordion" class="accordion" style="width:200px;height:500px;">
</ul>
</body>
</html>

希望本文所述对大家学习jquery程序设计有所帮助,对掌握手风琴特效更加熟练,文章下方有链接的相关文章,希望大家阅读学习。

Javascript 相关文章推荐
jquery tools之tabs 选项卡/页签
Jul 25 Javascript
扩展javascript的Date方法实现代码(prototype)
Nov 20 Javascript
document.getElementById获取控件对象为空的解决方法
Nov 20 Javascript
JavaScript—window对象使用示例
Dec 09 Javascript
JavaScript函数参数使用带参数名的方式赋值传入的方法
Mar 19 Javascript
JavaScript使用正则表达式获取全部分组内容的方法示例
Jan 17 Javascript
vue-cli入门之项目结构分析
Apr 20 Javascript
如何重置vue打印变量的显示方式
Dec 06 Javascript
浅谈在react中如何实现扫码枪输入
Jul 04 Javascript
layerUI下的绑定事件实例代码
Aug 17 Javascript
ng-events类似ionic中Events的angular全局事件
Sep 05 Javascript
浅析JavaScript预编译和暗示全局变量
Sep 03 Javascript
jQuery插件实现无缝滚动特效
Nov 24 #Javascript
Jquery ajax加载等待执行结束再继续执行下面代码操作
Nov 24 #Javascript
谈谈encodeURI和encodeURIComponent以及escape的区别与应用
Nov 24 #Javascript
javascript实现加载xml文件的方法
Nov 24 #Javascript
jQuery 1.9.1源码分析系列(十)事件系统之主动触发事件和模拟冒泡处理
Nov 24 #Javascript
JavaScript转换与解析JSON方法实例详解
Nov 24 #Javascript
jQuery实现带分组数据的Table表头排序实例分析
Nov 24 #Javascript
You might like
PHP_Flame(Version:Progress)的原代码
2006/10/09 PHP
深入理解PHP原理之错误抑制与内嵌HTML分析
2011/05/02 PHP
解析centos中Apache、php、mysql 默认安装路径
2013/06/25 PHP
PHP用FTP类上传文件视频等的简单实现方法
2016/09/23 PHP
ArrayList类(增强版)
2007/04/04 Javascript
ExtJs3.0中Store添加 baseParams 的Bug
2010/03/10 Javascript
JS 如果改变span标签的是否隐藏属性
2011/10/06 Javascript
js实现iframe跨页面调用函数的方法
2014/12/13 Javascript
jQuery提示插件alertify使用指南
2015/04/21 Javascript
学习javascript面向对象 理解javascript对象
2016/01/04 Javascript
JS实现获取来自百度,Google,soso,sogou关键词的方法
2016/12/21 Javascript
js评分组件使用详解
2017/06/06 Javascript
微信小程序自定义组件
2017/08/16 Javascript
JavaScript 自定义事件之我见
2017/09/25 Javascript
微信小程序的日期选择器的实例详解
2017/09/29 Javascript
node中间层实现文件上传功能
2018/06/11 Javascript
移动端(微信等使用vConsole调试console的方法
2019/03/05 Javascript
Javascript生成器(Generator)的介绍与使用
2021/01/31 Javascript
[00:35]TI7不朽珍藏III——寒冰飞龙不朽展示
2017/07/15 DOTA
在Python中使用第三方模块的教程
2015/04/27 Python
再谈Python中的字符串与字符编码(推荐)
2016/12/14 Python
Python实现选择排序
2017/06/04 Python
Python图形绘制操作之正弦曲线实现方法分析
2017/12/25 Python
python web.py开发httpserver解决跨域问题实例解析
2018/02/12 Python
python RabbitMQ 使用详细介绍(小结)
2018/11/08 Python
python itchat给指定联系人发消息的方法
2019/06/11 Python
PyQt5响应回车事件的方法
2019/06/25 Python
tensorflow没有output结点,存储成pb文件的例子
2020/01/04 Python
手动安装python3.6的操作过程详解
2020/01/13 Python
浅谈Python中文件夹和python package包的区别
2020/06/01 Python
基于Python和C++实现删除链表的节点
2020/07/06 Python
pycharm2020.2 配置使用的方法详解
2020/09/16 Python
Reebok俄罗斯官方网上商店:购买锐步运动服装和鞋子
2016/09/26 全球购物
西班牙香水和化妆品购物网站:Arenal Perfumerías
2019/03/01 全球购物
应届生求职自荐信范文
2014/04/07 职场文书
开展党的群众路线教育实践活动工作总结
2014/11/05 职场文书