原生javascript实现选项卡(基础版)
一、实现原理
1、主要运用“排他思想”,在设置当前元素前,先把相应元素恢复到默认状态
2、给相应元素添加下标的应用
二、代码展示
<!DOCTYPE html> <html> <head> <title></title> <style type="text/css"> *{margin: 0;padding: 0;} ul,li{ list-style: none; } ul{display: block;overflow: hidden; clear: both;} li{display:block;float: left; width: 200px; height: 40px;line-height: 40px; text-align: center; background:#eee; color: #333;cursor: pointer;} li.on{ background:orange; color: #fff;} div{width:600px;display: none; height: 400px; text-align: center;line-height: 400px; border:1px solid #eee; box-sizing: border-box;} </style> </head> <body> <ul id="box"> <li class="on">国内</li> <li>国外</li> <li>市政</li> </ul> <div style="display: block;">国内</div> <div>国外</div> <div>市政</div> </body> <script type="text/javascript"> var oLis = document.getElementsByTagName('li'); var oDiv = document.getElementsByTagName('div'); for (var i = 0; i < oLis.length; i++) { //给每个li设置下标 oLis[i].index = i; oLis[i].onclick = function(){ //li点击时,拍他思想,把所有的li去掉选中状态,所有的div都隐藏 for (var j = 0; j < oLis.length; j++) { oLis[j].className = ''; oDiv[j].style.display = 'none'; } // 设置当前点击的li为选中状态 this.className = 'on'; // 根据当前li的下标,设置对应的div展示出来 oDiv[this.index].style.display = 'block'; } } </script> </html>
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步