企业网站,个人博客等WordPress网站以及其他语言网站开发定制需求加QQ详聊。

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

HTML CSS 码云 115℃ 0评论

分享一个利用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代码:

<script type="text/javascript">
	$(".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();
		}
	});
</script>

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

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

转载请注明:码云笔记 » jquery css垂直手风琴菜单列表制作

喜欢 (3)or分享 (0)
发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
(2)个小伙伴在吐槽
  1. 代码很简单,效果却不错,可以学习一下
    铁桶哪吒2018-11-29 22:35 回复
  2. 感谢分享!
    猴赛雷累2018-11-29 22:33 回复