基于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 getElementsByClassName实现代码
Oct 11 Javascript
js判断IE6/IE7/FF的代码[XMLHttpRequest]
Feb 16 Javascript
用js+iframe形成页面的一种遮罩效果的具体实现
Dec 31 Javascript
js实现简单的省市县三级联动效果实例
Feb 18 Javascript
js实现ctrl+v粘贴上传图片(兼容chrome、firefox、ie11)
Mar 09 Javascript
JQuery 在文档中查找指定name的元素并移除的实现方法
May 19 Javascript
js实现无缝滚动图(可控制当前滚动的方向)
Feb 22 Javascript
Bootstrap Scrollspy源码学习
Mar 02 Javascript
JavaScript运动框架 解决速度正负取整问题(一)
May 17 Javascript
微信小程序实现点击按钮修改字体颜色功能【附demo源码下载】
Dec 05 Javascript
使用layui的router来进行传参的实现方法
Sep 06 Javascript
JavaScript异步操作的几种常见处理方法实例总结
May 11 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预定义常量
2006/12/25 PHP
Zend Framework动作助手Redirector用法实例详解
2016/03/05 PHP
php版微信公众平台开发之验证步骤实例详解
2016/09/23 PHP
PHP中散列密码的安全性分析
2019/07/26 PHP
jQuery Ajax 全解析
2009/02/08 Javascript
jquery实现超简洁的TAB选项卡效果代码
2015/08/28 Javascript
JS实现网页游戏中滑块响应鼠标点击移动效果
2015/10/19 Javascript
基于jQuery仿淘宝产品图片放大镜特效
2020/10/19 Javascript
AngularJS在IE8的不支持的解决方法
2016/05/13 Javascript
jQuery+json实现动态创建复杂表格table的方法
2016/10/25 Javascript
EasyUI 中combotree 默认不能选择父节点的实现方法
2016/11/07 Javascript
vue2+el-menu实现路由跳转及当前项的设置方法实例
2017/11/07 Javascript
基于百度地图api清除指定覆盖物(Overlay)的方法
2018/01/26 Javascript
JS中的两种数据类型及实现引用类型的深拷贝的方法
2018/08/12 Javascript
[01:31:22]DOTA2-DPC中国联赛定级赛 LBZS vs Magma BO3第二场 1月10日
2021/03/11 DOTA
Python实现新浪博客备份的方法
2016/04/27 Python
TensorFlow 实战之实现卷积神经网络的实例讲解
2018/02/26 Python
Go/Python/Erlang编程语言对比分析及示例代码
2018/04/23 Python
Python实现12306火车票抢票系统
2019/07/04 Python
Python math库 ln(x)运算的实现及原理
2019/07/17 Python
CSS3动画效果回调处理详解
2014/12/10 HTML / CSS
Skip Hop官网:好莱坞宝宝挚爱品牌
2018/06/17 全球购物
锐步英国官网:Reebok英国
2019/11/29 全球购物
客服专员岗位职责范本
2013/11/29 职场文书
学期研究性学习个人的自我评价
2014/01/09 职场文书
小学生防溺水广播稿
2014/01/12 职场文书
秋季开学典礼主持词
2014/03/19 职场文书
新年寄语大全
2014/04/12 职场文书
综合内勤岗位职责
2014/04/14 职场文书
开发房地产协议书
2014/09/14 职场文书
党的群众路线教育实践活动方案
2014/10/31 职场文书
2014年专项整治工作总结
2014/11/17 职场文书
小学教师节活动总结
2015/03/20 职场文书
严以用权学习心得体会
2016/01/12 职场文书
JavaScript嵌入百度地图API的最详细方法
2021/04/16 Javascript
「SHOW BY ROCK!!」“雫シークレットマインド”组合单曲MV公开
2022/03/21 日漫