jquery手风琴特效插件


Posted in Javascript onFebruary 04, 2015

手风琴效果是项目中使用频率较高的一种效果,原来项目一直都在用easyui的,临近年末,试着自己写了一个

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手风琴特效插件

jquery手风琴特效插件

以上就是本文的全部内容了,希望大家能够喜欢

Javascript 相关文章推荐
输入框的字数时时统计—关于 onpropertychange 和 oninput 使用
Oct 21 Javascript
基于jquery &amp; json的省市区联动代码
Jun 26 Javascript
js实现连续英文字符自动换行兼容ie6 ie7和firefox
Sep 06 Javascript
Jquery实现由下向上展开效果的例子
Dec 08 Javascript
jQuery的Scrollify插件实现滑动到页面下一节点
Jul 05 Javascript
jquery 判断selection range 是否在容器中的简单实例
Aug 02 Javascript
javascript 中Cookie读、写与删除操作
Mar 29 Javascript
jquery实现简单实用的轮播器
May 23 jQuery
vue-cli webpack2项目打包优化分享
Feb 07 Javascript
详解Vue中数组和对象更改后视图不刷新的问题
Sep 21 Javascript
了解前端理论:rscss和rsjs
May 23 Javascript
vue+element_ui上传文件,并传递额外参数操作
Dec 05 Vue.js
Jquery中find与each方法用法实例
Feb 04 #Javascript
javascript中Array数组的迭代方法实例分析
Feb 04 #Javascript
AngularJs根据访问的页面动态加载Controller的解决方案
Feb 04 #Javascript
15款jQuery分布引导插件分享
Feb 04 #Javascript
jquery $(document).ready()和window.onload的区别浅析
Feb 04 #Javascript
使用jQueryMobile实现滑动翻页效果的方法
Feb 04 #Javascript
jQueryMobile之Helloworld与页面切换的方法
Feb 04 #Javascript
You might like
php校验表单检测字段是否为空的方法
2015/03/20 PHP
php使用ftp远程上传文件类(完美解决主从文件同步问题的方法)
2016/09/23 PHP
php正则修正符用法实例详解
2016/12/29 PHP
[原创]PHP实现SQL语句格式化功能的方法
2017/07/28 PHP
php实现的后台表格分页功能示例
2017/10/23 PHP
php创建多级目录与级联删除文件的方法示例
2019/09/12 PHP
第一个JavaScript入门基础 document.write输出
2010/02/22 Javascript
用Javascript评估用户输入密码的强度实现代码
2011/11/30 Javascript
jquery+json实现数据列表分页示例代码
2013/11/15 Javascript
原生js和jquery中有关透明度设置的相关问题
2014/01/08 Javascript
教你用jquery实现iframe自适应高度
2014/06/11 Javascript
JS实现的论坛Ajax打分效果完整实例
2015/10/31 Javascript
谈谈我对JavaScript原型和闭包系列理解(随手笔记6)
2015/12/20 Javascript
jQuery防止重复绑定事件的解决方法
2016/05/14 Javascript
AngularJS中如何使用echart插件示例详解
2016/10/26 Javascript
js滚轮事件兼容性问题需要注意哪些
2016/11/15 Javascript
angularjs中$http异步上传Excel文件方法
2018/02/23 Javascript
jQuery简单实现的HTML页面文本框模糊匹配查询功能完整示例
2018/05/09 jQuery
Vue.js实现数据响应的方法
2018/08/13 Javascript
JavaScript查看代码运行效率console.time()与console.timeEnd()用法
2019/01/18 Javascript
vue 中 命名视图的用法实例详解
2019/08/14 Javascript
vue中axios的二次封装实例讲解
2019/10/14 Javascript
JavaScript计算出两个数的差值
2020/03/19 Javascript
JavaScript 正则应用详解【模式、欲查、反向引用等】
2020/05/13 Javascript
vue样式穿透 ::v-deep的具体使用
2020/06/04 Javascript
vue组件中实现嵌套子组件案例
2020/08/31 Javascript
用Python代码来解图片迷宫的方法整理
2015/04/02 Python
Python 加密的实例详解
2017/10/09 Python
PyQt5多线程刷新界面防假死示例
2019/12/13 Python
python实现字典嵌套列表取值
2019/12/16 Python
浅谈Pytorch中的自动求导函数backward()所需参数的含义
2020/02/29 Python
生日派对邀请函
2014/01/13 职场文书
迎元旦广播稿
2014/02/22 职场文书
小学校长竞聘演讲稿
2014/05/16 职场文书
人力资源管理专业自荐信
2014/06/24 职场文书
如何写观后感
2015/06/19 职场文书