汉尼拔666
2020-03-11 22:48
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>实践题 - 选项卡</title>
<style type="text/css">
/* CSS样式制作 */
*{padding:0px; margin:0px; font:12px normal "microsoft yahei";}
#tabs {width:290px; padding:5px; height:150px; margin:20px;}
#tabs ul{list-style:none; display:block; height:30px; line-height:30px; border-bottom:2px saddlebrown solid;}
#tab ul li{background:#fff; cursor:pointer; float:left; list-style:none; height:28px; line-height:28px; margin:0px 3px; border:1px solid #aaa; border-bottom:none; display:inline-block; width:60px; text-align:center;}
#tabs ul li.on{border-top:2px saddlebrown solid; border-bottom:2px solid #fff;}
#tabs div{height:120px; line-height:25px; border:1px #336699 solid; border-top:none; padding:5px;}
#tabs div.hide{display:none;}
</style>
<script type="text/javascript">
// JS实现选项卡切换
window.onload = function(){
var tabs = document.getElementsById("tabs");
var Ul = document.getElementsByTagName("ul")[0];
var Li = document.getElementsByTagName("li");
var Div = document.getElementsByTagName("div");
for(var i=0;i<Li.length;i++){
Li[i].index=i;
Li[i].onclick=function(){
for(var n=0;n<Li.length;n++){
Li[i].className="";
Div[i].className="hide";
}
this.className="on";
Div[this.index].className="";
}
}
</script>
</head>
<body>
<!-- HTML页面布局 -->
<div id="tabs">
<ul>
<li class="on">房产</li>
<li>家居</li>
<li>二手房</li>
</ul>
<div>
275万购昌平邻铁三居 总价20万买一居<br/>
200万内购五环三居 140万安家东三环<br/>
北京首现零首付楼盘 53万购东5环50平<br/>
京楼盘直降5000 中信府 公园楼王现房<br/>
</div>
<div class="hide">
40平出租屋大改造 美少女的混搭小窝<br/>
经典清新简欧爱家 90平老房焕发新生<br/>
新中式的酷色温情 66平撞色活泼家居<br/>
瓷砖就像选好老婆 卫生间烟道的设计<br/>
</div>
<div class="hide">
通州豪华3居260万 二环稀缺2居250w甩<br/>
西3环通透2居290万 130万2居限量抢购<br/>
黄城根小学学区仅260万 121平70万抛!<br/>
独家别墅280万 苏州桥2居优惠价248万<br/>
</div>
</div>
</body>
</html>
#tabs ul li .on{border-top:2px saddlebrown solid; border-bottom:2px solid #fff;}
初学者经常犯的错误,className为on的,就是li,不需要li.on,直接.on,就是选中了那个li
CSS里面的tabs写成tab了,还有JS里最后少了一个大括号,还有就是写CSS的时候,那个CLASS类的点前面要有一个空格还有就是JS里的逻辑有一点小问题,下面是我给你修改后的,可以运行了
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>实践题 - 选项卡</title> <style type="text/css"> /* CSS样式制作 */ *{padding:0px; margin:0px; font:12px normal "microsoft yahei";} #tabs {width:290px; padding:5px; height:150px; margin:20px;} #tabs ul{list-style:none; display:block; height:30px; line-height:30px; border-bottom:2px saddlebrown solid;} #tabs ul li{background:#fff; cursor:pointer; float:left; list-style:none; margin:0px 3px; border:1px solid #aaa; border-bottom:none; display:inline-block; text-align:center;} #tabs ul li .on{border-top:2px saddlebrown solid; border-bottom:2px solid #fff;} #tabs div{height:120px; line-height:25px; border:1px #336699 solid; border-top:none; padding:5px;} #tabs .hide{display:none;} </style> <script type="text/javascript"> // JS实现选项卡切换 window.onload = function() { var tabs = document.getElementById("tabs"); var Ul = document.getElementsByTagName("ul")[0]; var Li = document.getElementsByTagName("li"); var Div = document.getElementsByTagName("div"); for (var i = 0; i < Li.length; i++) { Li[i].index = i; Li[i].onclick = function () { for (var n = 0; n < Li.length; n++) { Div[n+1].className = "hide"; } Div[this.index+1].className = ""; } } } </script> </head> <body> <!-- HTML页面布局 --> <div id="tabs"> <ul> <li class="on">房产</li> <li>家居</li> <li>二手房</li> </ul> <div class=""> 275万购昌平邻铁三居 总价20万买一居<br/> 200万内购五环三居 140万安家东三环<br/> 北京首现零首付楼盘 53万购东5环50平<br/> 京楼盘直降5000 中信府 公园楼王现房<br/> </div> <div class="hide"> 40平出租屋大改造 美少女的混搭小窝<br/> 经典清新简欧爱家 90平老房焕发新生<br/> 新中式的酷色温情 66平撞色活泼家居<br/> 瓷砖就像选好老婆 卫生间烟道的设计<br/> </div> <div class="hide"> 通州豪华3居260万 二环稀缺2居250w甩<br/> 西3环通透2居290万 130万2居限量抢购<br/> 黄城根小学学区仅260万 121平70万抛!<br/> 独家别墅280万 苏州桥2居优惠价248万<br/> </div> </div> </body> </html>
JavaScript进阶篇
468061 学习 · 21891 问题
相似问题