jquery css垂直手风琴菜单列表制作

分享一个利用 jQuery CSS3 来完成的垂直手风琴菜单栏,这个适合做 web 后台系统之类的菜单,这款 CSS3 手风琴菜单的每一个菜单项都有小图标,而且只能有一项展开,更有意思的是,在菜单折叠和展开式右侧的箭头也会有不错的动画效果。这里我是用<ul><li></li></ul>无序列表和<dl><dt></dt><dd></dd></dl>定义列表结合使用实现的,下面来看一下实现的源码。
效果图:

jquery css 垂直手风琴菜单列表制作

HTML 代码:

<dl class="list_dl">
        <dt class="list_dt">
            <span class="_after"></span>
            <p>选择器</p>
            <i class="list_dt_icon"></i>
        </dt>
        <dd class="list_dd">
            <ul>
                <li class="list_li">#id</li>
                <li class="list_li">element</li>
                <li class="list_li">.class</li>
                <li class="list_li">*</li>
            </ul>
        </dd>
        <dt class="list_dt">
            <span class="_after"></span>
            <p>属性</p>
            <i class="list_dt_icon"></i>
        </dt>
        <dd class="list_dd">
            <ul>
                <li class="list_li">attr</li>
                <li class="list_li">removeAttr</li>
                <li class="list_li">prop</li>
                <li class="list_li">removeProp</li>
                <li class="list_li">addClass</li>
                <li class="list_li">removeClass</li>
            </ul>
        </dd>
        <dt class="list_dt">
            <span class="_after"></span>
            <p>文档处理</p>
            <i class="list_dt_icon"></i>
        </dt>
        <dd class="list_dd">
            <ul>
                <li class="list_li">append</li>
                <li class="list_li">appendTo</li>
                <li class="list_li">prepend</li>
                <li class="list_li">prependTo</li>
                <li class="list_li">after</li>
                <li class="list_li">before</li>
            </ul>
        </dd>
        <dt class="list_dt">
            <span class="_after"></span>
            <p>事件</p>
            <i class="list_dt_icon"></i>
        </dt>
        <dd class="list_dd">
            <ul>
                <li class="list_li">ready</li>
                <li class="list_li">on</li>
                <li class="list_li">off</li>
                <li class="list_li">bind</li>
                <li class="list_li">one</li>
                <li class="list_li">trigger</li>
                <li class="list_li">hover</li>
                <li class="list_li">click</li>
                <li class="list_li">focus</li>
            </ul>
        </dd>
</dl>

CSS 代码:

*{
    margin: 0;
    padding: 0;
    font-family: "Microsoft YaHei", Arial, sans-serif;
    font-size: 14px;
}
.list_dt{
    background: #333;
    color: white;
    width: 120px;
    padding: 0 40px 0 20px;
    height: 34px;
    line-height: 34px;
    cursor: pointer;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    position: relative;
    border-bottom: 1px solid #464646;
}
.list_dt:hover{
    background: #222;
}
.list_dt:hover ._after{
    display: block;
    width: 3px;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    background: #4285F4;
}
#open{
    background: #222;
}
#open ._after{
    display: block;
    width: 3px;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    background: #4285F4;
}
.list_dt_icon{
    position: absolute;
    right: 10px;
    top: 9px;
    display: block;
    width: 16px;
    height: 16px;
    background: url("../images/off.png") no-repeat;
}
#open .list_dt_icon{
    background: url("../images/open.png") no-repeat;
}
.list_dd{
    display: none;
}
.list_li{
    background: #4e4e4e;
    list-style-type: none;
    color: white;
    width: 120px;
    padding: 0 30px;
    height: 34px;
    line-height: 34px;
    cursor: pointer;
    border-bottom: 1px solid #6b6b6b;
}
.list_li:hover{
    background: #4285F4;
}

jQuery 代码:

$(".list_dt").on("click",function () {
  $('.list_dd').stop();
  $(this).siblings("dt").removeAttr("id");
    if($(this).attr("id")=="open"){
       $(this).removeAttr("id").siblings("dd").slideUp();
    }else{
       $(this).attr("id","open").next().slideDown().siblings("dd").slideUp();
    }
});

这部分的 jQuery 代码主要是来完成菜单折叠效果的,实现起来很简单,不做过多解释,提醒大家记得引用 jQuery 库。

以上就是今天码云笔记为大家带来的垂直手风琴菜单的设计思路和源码,当然代码不是很难,大神请绕过,希望本篇文章对正在需要的朋友提供帮助,直接 Ctrl+ C 就可以拿去用了。当然内容有什么不足之处,还希望大家积极拍砖一起探讨。

「点点赞赏,手留余香」

7

给作者打赏,鼓励TA抓紧创作!

微信微信 支付宝支付宝

还没有人赞赏,快来当第一个赞赏的人吧!

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
码云笔记 » jquery css垂直手风琴菜单列表制作

2 评论

  1. 代码很简单,效果却不错,可以学习一下

  2. 感谢分享!

回复 铁桶哪吒 取消回复