手风琴下拉菜单案例

案例分析:

点击 span (标题1234), 下面的div 会向下滑动

其他 span 的 div 会隐藏

给所有的 span 注册点击事件, 让当前 span 的兄弟 div 显示出来, 下一个兄弟 nextElemenetSibling

关键代码

$(function(){
   $(".groupTitle").click(function(){
      $(this).next().slideDown(500).parent().siblings().children("div").slideUp(500);  //链式编程, 在jQuery里面,方法可以一直调用下去。
}) }) 

完整代码:

<!DOCTYPE html>
<html  lang="en">
<head>
  <meta charset="UTF-8">
  <title></title>
  <style type="text/css">
    * {
        padding: 0;
        margin: 0;
      }
    ul {
       list-style-type: none;
       }
    
    .parentWrap {
      width: 200px;
      text-align:center;
      margin:100px auto;
    }
    
    .menuGroup {
      border:1px solid #999;
      background-color:#e0ecff;
    }
    
    .groupTitle {
      display:block;
      height:20px;
      line-height:20px;
      font-size: 16px;
      border-bottom:1px solid #ccc;
      cursor:pointer;
    }
    
    .menuGroup > div {
      height: 200px;
      background-color:#fff;
      display:none;
    }
  
  </style>
  
  <script src="jquery-1.12.4.min.js"></script>
  <script>
      $(function () {
          //思路分析:
          //1. 给所有的span注册点击事件,让当前span的兄弟div显示出来
          $(".groupTitle").click(function () {
            //下一个兄弟:nextElementSibling
            
            //链式编程:在jQuery里面,方法可以一直调用下去。
            $(this).next().slideDown(500).parent().siblings().children("div").slideUp(500);
          });
      });
  </script>
</head>
<body>
<ul class="parentWrap">
  <li class="menuGroup">
    <span class="groupTitle">标题1</span>
    <div>我是弹出来的div1</div>
  </li>
  <li class="menuGroup">
    <span class="groupTitle">标题2</span>
    <div>我是弹出来的div2</div>
  </li>
  <li class="menuGroup">
    <span class="groupTitle">标题3</span>
    <div>我是弹出来的div3</div>
  </li>
  <li class="menuGroup">
    <span class="groupTitle">标题4</span>
    <div>我是弹出来的div4</div>
  </li>
</ul>
</body>
</html>

 

posted @ 2019-09-13 16:29  shanlu  阅读(542)  评论(0编辑  收藏  举报