jQuery 手风琴侧边菜单

动手做了一个简单手风琴菜单,上图:

点击 B 可收缩 C 列表,点击 C 改变自身和父节点 B 的样式,悬浮时均有不同的样式改变。

先看页面代码,列表的嵌套:

<div id="menuDiv">
  <ul id="menu">
    <li class="parentLi">
      <span>B</span>
      <ul class="childrenUl">
        <li class="childrenLi"><span>C</span></li>
        <li class="childrenLi"><span>C</span></li>
        <li class="childrenLi"><span>C</span></li>
      </ul>
    </li>
    <li class="parentLi">
      <span>B</span>
      <ul class="childrenUl">
        <li class="childrenLi"><span>C</span></li>
        <li class="childrenLi"><span>C</span></li>
        <li class="childrenLi"><span>C</span></li>
      </ul>
    </li>    <li class="parentLi">
      <span>B</span>
      <ul class="childrenUl">
        <li class="childrenLi"><span>C</span></li>
        <li class="childrenLi"><span>C</span></li>
        <li class="childrenLi"><span>C</span></li>
      </ul>
    </li>
  </ul>
</div>

css 代码,主要设置背景色和子菜单左边框的样式,设置悬浮和选中的样式,开始设置子菜单不显示(通过 js 设置点击之后再显示):

#menuDiv{
    width: 200px;
    background-color: #029FD4;
}
.parentLi
{
    width: 100%;
    line-height: 40px;
    margin-top: 1px;
    background: #1C73BA;
    color: #fff;
    cursor: pointer;
    font-weight:bolder;
}
.parentLi span
{
    padding: 10px;
}
.parentLi:hover, .selectedParentMenu
{
    background: #0033CC;
}
.childrenUl
{
    background-color: #ffffff;
    display: none;
}
.childrenLi
{
    width: 100%;
    line-height: 30px;
    font-size: .9em;
    margin-top: 1px;
    background: #63B8FF;
    color: #000000;
    padding-left: 15px;
    cursor: pointer;
}
.childrenLi:hover, .selectedChildrenMenu
{
    border-left: 5px #0033CC solid;
    background: #0099CC;
    padding-left: 15px;
}

接下来就是点击事件的代码:

  $(".parentLi").click(function(event) {
        $(this).children(‘.childrenUl‘).slideToggle();
    });

    $(".childrenLi").click(function(event) {
        event.stopPropagation();
        $(".childrenLi").removeClass(‘selectedChildrenMenu‘);
        $(".parentLi").removeClass(‘selectedParentMenu‘);
        $(this).parents(".parentLi").addClass(‘selectedParentMenu‘);
        $(this).addClass(‘selectedChildrenMenu‘);
    });

需要注意的是列表嵌套,会导致事件冒泡,所以在子菜单的点击事件里面要组织冒泡,event.stopPropagation(); 详见 API 。

时间: 2024-10-18 04:26:59

jQuery 手风琴侧边菜单的相关文章

jQuery简单实现手风琴侧边菜单

先看页面代码,列表的嵌套: <div id="menuDiv"> <ul id="menu"> <li class="parentLi"> <span>B</span> <ul class="childrenUl"> <li class="childrenLi"><span>C</span></

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手风琴效果,结果悲剧了好久…… 是该认认真真去学jquery,练习自己写动画效果了.从理解别人代码开始吧! 注:jquery-1.8.3.min.js需要下载文件放到同级名为js的文件夹里. <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>jquery垂直展开折叠手风琴效果</title> <s

jQuery&amp;HTML&amp;CSS3实现垂直手风琴折叠菜单方法讲解

在网页制作中我们常常需要折叠式的菜单,在折叠菜单中,手风琴特效的菜单是非常受欢迎,下面就讲解使用jQuery+HTML+CSS3实现垂直手风琴折叠菜单的方法. jQuery实现垂直手风琴折叠菜单示例代码 首先给出手风琴折叠菜单的HTML代码,如下所示: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>CSS3垂直手风琴折叠菜单DEMO演示</titl

jQuery实现侧边导航栏效果

效果图: 以下是完整代码: <!DOCTYPE html><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><meta name="keywords" content="JS代码,侧边菜单,拉出菜单,高级菜单,导航菜单,jquery菜单" /><met

可控制导航下拉方向的jQuery下拉菜单代码

效果:http://hovertree.com/texiao/nav/1/ 代码如下: <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>可控制导航下拉方向的jQuery下拉菜单代码 - 何问起</title> <base ta

Jquery Easy-UI 树形菜单的运用

一.树形菜单的右键标签 期中增加同级机构.增加下属机构.修改.删除分别是调用了addNode(),del()等方法. <div id="menuTree" class="easyui-menu" style="width: 120px;"> <SecurityTag:Authorize ID="Authorize12" runat="server" FunctionID="fun

利用jQuery实现垂直菜单和水平菜单效果

1 利用jQuery实现垂直菜单 1.1 创建VerticalMenu.html文件,内容如下: <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <link href="vertical.css" rel="stylesheet"> <script src="jquery-1

基于jquery宽屏菜单导航【精品】

demo预览地址:http://www.qhttl.com/content/view/2014/07/18/jiaoben75/jiaoben75/index.html 下载地址:基于jquery宽屏菜单导航 基于jquery宽屏菜单导航[精品],布布扣,bubuko.com