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 {
    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>

显示效果

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

(0)

相关推荐

  • jquery插件制作 手风琴Panel效果实现

    首先我们还是创建一个html文件,里面包含如下的html结构. 复制代码 代码如下: <div id="pane-container"> <div class="pane"> <h1>first pane</h1> <p>this script should allow only one pane to be visible at a time.</p> </div> <div

  • jquery实现手风琴效果

    本文实例讲述了jquery实现手风琴效果的代码.分享给大家供大家参考.具体如下: 效果过程就是当鼠标覆盖图片时,这张图片的宽度变大,其他兄弟图片宽度变小,效果如下: 具体代码如下 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns=&qu

  • jQuery Easyui使用(一)之可折叠面板的布局手风琴菜单

    先给大家看下效果图,效果图展示如下: 关键代码如下所示: <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>首页</title> &l

  • jQuery制作效果超棒的手风琴折叠菜单

    拉风的jQuery制作的手风琴折叠菜单,效果非常不错!这里是之前版本的改进版,主要是jquery代码改进 演示图: main.js $(function(){ var tmp = null, $title = $('.title'), $con = $('.title > ul'); $title.click(function(){ $(tmp).children('ul').slideUp().end().children('.arrow').removeClass('arrow-up');

  • 基于jquery的slideDown和slideUp做手风琴

    手风琴 *{ padding:0; margin:0; } body{ background:#fafafa; font-size:12px; } .slider{ line-height:24px; width:700px; color:#7ecef4; margin:10px auto; background:#010e16; } .slider dt{ background:#f5f5d2; padding-left:30px; cursor:pointer; overflow:hidde

  • 基于Jquery代码实现手风琴菜单

    先给大家展示效果图: 先看页面代码,列表的嵌套: <div id="menuDiv"> <ul id="menu"> <li class="parentLi"> <span>B</span> <ul class="childrenUl"> <li class="childrenLi"><span>C</sp

  • 基于JQuery的一句话搞定手风琴菜单

    一.Html代码 复制代码 代码如下: <div class="MenuSubTitle AccordionCollapse">子菜单1</div> <div> <a href="Fld_BaseData/aa.aspx">aa管理</a><br/> <a href="Fld_BaseData/bb.aspx">bb管理</a><br/>

  • jquery实现手风琴效果实例代码

    复制代码 代码如下: //jquery实现手风琴效果  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  <html xmlns="http://www.w3.org/1999/xhtml">  <head>  <

  • 基于jquery的手风琴图片展示效果实现方法

    本文实例讲述了基于jquery的手风琴图片展示效果实现方法.分享给大家供大家参考.具体实现方法如下: 代码运行效果如下图所示: index.html页面代码如下: 复制代码 代码如下: <!DOCTYPE html> <html class=''> <head>     <title>一款基于jquery的手风琴图片展示效果demo</title>     <style class="cp-pen-styles">

  • 简单实现jQuery手风琴效果

    本文实例为大家分享了jQuery实现手风琴效果的具体代码,供大家参考,具体内容如下 js代码: <script type="text/javascript" src="jquery-3.0.0.js"></script> <script type="text/javascript"> $(function() { //获取所有li遍历 $(".li_list").each(function(

随机推荐