基于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 相关文章推荐
javascript 添加和移除函数的通用方法
Oct 20 Javascript
事件绑定之小测试  onclick &amp;&amp; addEventListener
Jul 31 Javascript
node.js使用nodemailer发送邮件实例
Mar 10 Javascript
JavaScript定时显示广告代码分享
Mar 02 Javascript
jQuery实用技巧必备(中)
Nov 03 Javascript
jQuery Validate表单验证深入学习
Dec 18 Javascript
JavaScript的Ext JS框架中的GridPanel组件使用指南
May 21 Javascript
jQuery动态追加页面数据以及事件委托详解
May 06 jQuery
node.js 基于cheerio的爬虫工具的实现(需要登录权限的爬虫工具)
Apr 10 Javascript
vue elementUI table 自定义表头和行合并的实例代码
May 22 Javascript
移动端手指操控左右滑动的菜单
Sep 08 Javascript
vue实现淘宝购物车功能
Apr 20 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
NT IIS下用ODBC连接数据库
2006/10/09 PHP
那些年一起学习的PHP(二)
2012/03/21 PHP
解析如何用php screw加密php源代码
2013/06/20 PHP
apache和PHP如何整合在一起
2015/10/12 PHP
PHP中ltrim与rtrim去除左右空格及特殊字符实例
2016/01/07 PHP
jQuery解析XML与传统JavaScript方法的差别实例分析
2015/03/05 Javascript
jQuery 监控键盘一段时间没输入
2016/04/22 Javascript
NodeJs——入门必看攻略
2016/06/27 NodeJs
Node.js中用D3.js的方法示例
2017/01/16 Javascript
详解Node.js项目APM监控之New Relic
2017/05/12 Javascript
微信小程序 支付功能(前端)的实现
2017/05/24 Javascript
详解vue.js之绑定class和style的示例代码
2017/08/24 Javascript
爬虫利器Puppeteer实战
2019/01/09 Javascript
Node.js 多线程完全指南总结
2019/03/27 Javascript
使用vue2.6实现抖音【时间轮盘】屏保效果附源码
2019/04/24 Javascript
Vue实现可移动水平时间轴
2020/06/29 Javascript
Vue基于iview table展示图片实现点击放大
2020/08/05 Javascript
python学习之matplotlib绘制散点图实例
2017/12/09 Python
python 利用pandas将arff文件转csv文件的方法
2019/02/12 Python
Python使用字典的嵌套功能详解
2019/02/27 Python
Python爬取视频(其实是一篇福利)过程解析
2019/08/01 Python
Python随机函数库random的使用方法详解
2019/08/21 Python
python sorted函数的小练习及解答
2019/09/18 Python
Python读取YAML文件过程详解
2019/12/30 Python
pip已经安装好第三方库但pycharm中import时还是标红的解决方案
2020/10/09 Python
用Python实现定时备份Mongodb数据并上传到FTP服务器
2021/01/27 Python
html5 css3 动态气泡按钮实例演示
2012/12/02 HTML / CSS
CSS3打造百度贴吧的3D翻牌效果示例
2017/01/04 HTML / CSS
自我鉴定的范文
2013/10/03 职场文书
应届大专生求职信
2014/06/26 职场文书
学校联谊协议书
2014/09/16 职场文书
流动人口婚育证明
2014/10/19 职场文书
店长岗位职责
2015/02/11 职场文书
python OpenCV学习笔记
2021/03/31 Python
实现一个简单得数据响应系统
2021/11/11 Javascript
Python如何利用pandas读取csv数据并绘图
2022/07/07 Python