zoukankan      html  css  js  c++  java
  • 自定义jquery手风琴插件

    手风琴效果是项目中使用频率较高的一种效果,原来项目一直都在用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 {
         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;
         100%;
        padding-left: 0px;
    }
    .submenu li {
        list-style-type: none;
         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="200px;height:500px;">
    </ul>
    </body>
    </html>

    显示效果

         

  • 相关阅读:
    php函数
    字符滚动效果0515复习笔记+注释
    0514复习Windows操作及DOM的使用
    超链接文字随状态改变变色2016-0514
    js笔记之影音插入0514
    js类型转换,运算符,语句
    JS学习1简介
    json文件的json.parse(data)方法时候碰到的问题
    样式属性
    css样式表0513补
  • 原文地址:https://www.cnblogs.com/f23wangj/p/4270251.html
Copyright © 2011-2022 走看看