jquery实现侧边栏的隐藏与显示

时间:2022-01-01 19:18:12

左侧菜单栏点击一个分类其它分类关闭,并且点击自身也支持关闭。

布局图:

jquery实现侧边栏的隐藏与显示

思路:

1.当点击optionDiv的时候添加本次是否点击的in类标记,
2、移除其他optionDiv的active类标记,
3、当前的optionDiv拥有active类时移除active类,没有avtive类时,添加active类。
4、隐藏所有的navListUL
5、,显示类为avtive的optionDiv下面的navListUL
6、移除optionDiv的时候添加本次是否点击的in类标记,

代码实现

 html

 1 <div class="left_option">
 2     <div class="option_title active">
 3         本周食谱
 4     </div>
 5     <ul class="this_week nav-list">
 6         <li style="color:#ED6168" date-id="1" class="weekDate">周一食谱</li>
 7         <li class="weekDate" date-id="2">周二食谱</li>
 8         <li class="weekDate" date-id="3">周三食谱</li>
 9         <li class="weekDate" date-id="4">周四食谱</li>
10         <li class="weekDate" date-id="5">周五食谱</li>
11         <li class="weekDate" date-id="6">周六食谱</li>
12         <li class="weekDate" date-id="7">周日食谱</li>
13     </ul>
14  
15     <div class="option_title">
16         下周食谱
17     </div>
18     <ul class="next_week nav-list" style="display:none">
19         <li date-id="1" class="weekDate2">周一食谱</li>
20         <li class="weekDate2" date-id="2">周二食谱</li>
21         <li class="weekDate2" date-id="3">周三食谱</li>
22         <li class="weekDate2" date-id="4">周四食谱</li>
23         <li class="weekDate2" date-id="5">周五食谱</li>
24         <li class="weekDate2" date-id="6">周六食谱</li>
25         <li class="weekDate2" date-id="7">周日食谱</li>
26     </ul>
27 </div>

js

 1 //控制侧边栏的显示与隐藏
 2         $(".option_title").click(function(){
 3             $(this).addClass("in");
 4             //对不是类class为in的元素移除active类
 5             $(".option_title").not(".in").removeClass("active");
 6             //多次点击设置改元素的类为active或不是active
 7             $(this).toggleClass("active");
 8             //以滑动方式隐藏所有list
 9             $(".nav-list").slideUp();
10             //以滑动方式显示元素
11             $(".active").next().slideDown();
12             //移除选中optionDiv的in类
13             $(this).removeClass("in");
14         });