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 相关文章推荐
爱恋千雪-US-AscII加密解密工具(网页加密)下载
Jun 06 Javascript
JavaScript在IE和Firefox(火狐)的不兼容问题解决方法小结
Apr 13 Javascript
chrome原生方法之数组
Nov 30 Javascript
使用jquery+CSS3实现仿windows10开始菜单的下拉导航菜单特效
Sep 24 Javascript
jquery属性,遍历,HTML操作方法详解
Sep 17 Javascript
jQuery的Cookie封装,与PHP交互的简单实现
Oct 05 Javascript
JS实现touch 点击滑动轮播实例代码
Jan 19 Javascript
JS实现统计字符串中字符出现个数及最大个数功能示例
Jun 04 Javascript
uni app仿微信顶部导航条功能
Sep 17 Javascript
vue实现在线预览pdf文件和下载(pdf.js)
Nov 26 Javascript
解决vue字符串换行问题(绝对管用)
Aug 06 Javascript
解决vue项目中遇到 Cannot find module ‘chalk‘ 报错的问题
Nov 05 Javascript
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中数组元素升序、降序以及重新排序的函数
2013/06/20 PHP
php 发送带附件邮件示例
2014/01/23 PHP
php实现每日签到功能
2018/11/29 PHP
利用jQuery的$.event.fix函数统一浏览器event事件处理
2009/12/21 Javascript
vs2003 js文件编码问题的解决方法
2010/03/20 Javascript
JavaScript动态设置div的样式的方法
2015/12/26 Javascript
JavaScript DOM 对象深入了解
2016/07/20 Javascript
详谈JavaScript的闭包及应用
2017/01/17 Javascript
Bootstrap 网格系统布局详解
2017/03/19 Javascript
JavaScript实现随机数生成器(去重)
2017/10/13 Javascript
vue2.0路由切换后页面滚动位置不变BUG的解决方法
2018/03/14 Javascript
JS使用Prim算法和Kruskal算法实现最小生成树
2019/01/17 Javascript
jQuery中实现text()的方法
2019/04/04 jQuery
react 中父组件与子组件双向绑定问题
2019/05/20 Javascript
JS开发自己的类库实例分析
2019/08/28 Javascript
vue 实现v-for循环回来的数据动态绑定id
2019/11/07 Javascript
vuex实现购物车功能
2020/06/28 Javascript
vue 获取url里参数的两种方法小结
2020/11/12 Javascript
js实现碰撞检测
2021/01/29 Javascript
[01:01:41]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Magma BO3 第二场 1月31日
2021/03/11 DOTA
使用grappelli为django admin后台添加模板
2014/11/18 Python
详解Django框架中用户的登录和退出的实现
2015/07/23 Python
MAC中PyCharm设置python3解释器
2017/12/15 Python
利用Python将文本中的中英文分离方法
2018/10/31 Python
python实现贪吃蛇游戏
2020/03/21 Python
Pytorch十九种损失函数的使用详解
2020/04/29 Python
Python接口自动化测试框架运行原理及流程
2020/11/30 Python
美国最大的船只买卖在线市场:Boat Trader
2018/08/04 全球购物
Raffaello Network德国:意大利拉斐尔时尚购物网
2019/05/01 全球购物
思想政治自我鉴定
2013/10/06 职场文书
电子商务专业毕业生工作推荐信
2013/11/17 职场文书
六一儿童节活动策划方案
2014/01/27 职场文书
辩论赛主持词
2014/03/18 职场文书
银行求职自荐信范文
2015/03/04 职场文书
学风建设主题班会
2015/08/17 职场文书
详解Vue的sync修饰符
2021/05/15 Vue.js