左侧菜单栏点击一个分类其它分类关闭,并且点击自身也支持关闭。
布局图:
思路:
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 });