JavaScript

超轻量级php框架startmvc

jQuery实现侧边栏隐藏与显示的方法详解

更新时间:2020-08-09 21:18:01 作者:startmvc
本文实例讲述了jQuery实现侧边栏隐藏与显示的方法。分享给大家供大家参考,具体如下:web

本文实例讲述了jQuery实现侧边栏隐藏与显示的方法。分享给大家供大家参考,具体如下:

web项目中经常会出现左侧侧边栏,右侧显示内容的web页面。

效果如图:

如何实现点击本周食谱,本周食谱的列表隐藏或显示切换,并关闭下周食谱列表显示,点击下周食谱,让下周食谱的列表隐藏切换显示,并关闭本周食谱列表显示

实现思路:

1.布局:

布局顶部的topDiv,左侧的leftDiv(optionDiv,navListUl),

布局右侧的contentDiv.

布局如图:

2.js控制optionDiv和navListUl

①.当点击optionDiv的时候添加本次是否点击的in类标记,

②.移除其他optionDiv的active类标记,

③.当前的optionDiv拥有active类时移除active类,没有avtive类时,添加active类。

④.隐藏所有的navListUL

⑤.显示类为avtive的optionDiv下面的navListUL

⑥.移除optionDiv的时候添加本次是否点击的in类标记,

实现代码:

html:


<div class="left_option">
 <div class="option_title active">
 本周食谱
 </div>
 <ul class="this_week nav-list">
 <li style="color:#ED6168" date-id="1" class="weekDate">周一食谱</li>
 <li class="weekDate" date-id="2">周二食谱</li>
 <li class="weekDate" date-id="3">周三食谱</li>
 <li class="weekDate" date-id="4">周四食谱</li>
 <li class="weekDate" date-id="5">周五食谱</li>
 <li class="weekDate" date-id="6">周六食谱</li>
 <li class="weekDate" date-id="7">周日食谱</li>
 </ul>
 <div class="option_title">
 下周食谱
 </div>
 <ul class="next_week nav-list" style="display:none">
 <li date-id="1" class="weekDate2">周一食谱</li>
 <li class="weekDate2" date-id="2">周二食谱</li>
 <li class="weekDate2" date-id="3">周三食谱</li>
 <li class="weekDate2" date-id="4">周四食谱</li>
 <li class="weekDate2" date-id="5">周五食谱</li>
 <li class="weekDate2" date-id="6">周六食谱</li>
 <li class="weekDate2" date-id="7">周日食谱</li>
 </ul>
</div>

js:


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

PS:感兴趣的朋友可以使用如下在线工具测试上述代码:

在线HTML/CSS/JavaScript前端代码调试运行工具: http://tools.jb51.net/code/WebCodeRun

在线HTML/CSS/JavaScript代码运行工具: http://tools.jb51.net/code/HtmlJsRun

jQuery 侧边栏 隐藏 显示