JavaScript实现侧边栏隐藏与显示功能详解
本文介绍如何使用JavaScript实现网页左侧栏的隐藏与显示功能。通过监听图片点击事件,动态修改DOM元素的display属性及innerHTML,实现栏目的收起与展开,并同步切换左右箭头图标。代码简洁,适合初学者理解基础的前端交互逻辑。
在协助师哥师姐测试考试系统时,注意到其考试页面具备隐藏左侧考生信息栏的功能,这种设计既专业又人性化。掌握JavaScript后,我也成功实现了类似效果,现分享具体实现过程。
页面HTML结构设计
1.页面设计:
(1).html代码:
<title>js分栏</title>
<style type="text/css">
.alignment{
text-align: center;
}
</style>
</head>
<script language="javascript" type="text/javascript">
//......
</script>
<body>
<table width="412" height="296" border="1">
<tr>
<td width="113" height="292" id="lanmu">
<p class="alignment"><a href="#">栏目一</a></p>
<p class="alignment"><a href="#">栏目二</a></p>
<p class="alignment"><a href="#">栏目三</a></p>
<p class="alignment"><a href="#">栏目四</a></p>
<p class="alignment"><a href="#">栏目五</a></p>
</td>
<td width="15">
<span id="pic"><img src="image/left.PNG" width="15" height="39" onclick="hide()" />
</span>
</td>
<td width="360" class="alignment">这里是内容区域!</td>
</tr>
</table>
</body>
</html>
(2).说明:页面结构非常简洁,仅包含一个一行三列的表格。第一列用于展示栏目名称,第三列放置主要内容,中间列则放置一个左右箭头图片。此前误以为需要复杂控件,实则仅需简单图片即可实现。
2.javascript代码:
JavaScript交互逻辑实现
<script language="javascript" type="text/javascript">
function hide()//点击左箭头,隐藏栏目部分
{
//第一步:隐藏栏目列表
document.getElementById("lanmu").style.display="none";
//第二步:同时将箭头图片更换,左箭头响应的事件是显示show()
document.getElementById("pic").innerHTML="<img src='image/right.PNG' onclick='show()' />";
}
function show()//点击右箭头,显示被隐藏的栏目部分
{
//第一步:显示栏目列表
document.getElementById("lanmu").style.display="";
//第二步:同时更换箭头图片,左箭头响应的事件是隐藏hide()
document.getElementById("pic").innerHTML="<img src='image/left.PNG' onclick='hide()' />";
}
</script>
(1)效果:


(2)说明:初始状态下显示“左箭头”。点击该图片会触发hide()事件,隐藏栏目部分,并将左箭头替换为右箭头。当点击“右箭头”时,触发show()事件,重新显示被隐藏的栏目,同时将右箭头换回左箭头,恢复初始状态。整个过程逻辑简单,易于实现。
通过这一阶段javascript的学习,感觉很有趣味。在之前什么都不知道的情况下,总是想得很难,给自己心理压力,当亲身去经历的时候,发现也就那么回事儿,慢慢地培养了学习的兴趣。现在登录一个网站或者使用一个软件的时候,会不由自觉地考虑它是怎么实现的,哪儿做得好,哪儿需要改进,逐渐向一个专业人士靠近。
javascript要学习的东西还很多,今天展示的只是冰山一角,带着兴趣和好奇继续加油!
vtk.js 渲染窗口黑屏或无内容显示的常见原因及排查
2026-11-05 17:30:30
js-cookie 安装与基础用法:set、get、remove 详解
2026-11-05 16:35:06
适合JavaScript初学者的实战项目:制作简易待办事项列表
2026-11-05 16:17:07
JS打开新标签页时怎么通过URL传递参数
2026-11-05 12:21:08
sigma.js 自定义节点样式:设置颜色、大小及标签显示的技巧
2026-11-05 09:55:00
