问答详情
源自:10-1 编程挑战

10-1 的选项卡颜色条点击不切换问题

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>实践题 - 选项卡</title>
    <style type="text/css">
     /* CSS样式制作 */ 
     *{padding:0px;margin:0px;font:12px normal "micrsoft yahei";}
     #tab{width:200px;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;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 solid #336699;border-top:none;padding:5px;}
     .hide{display:none;}
      
    </style>
    <script type="text/javascript">
        
    // JS实现选项卡切换
    window.onload = function(){
        var oTab = document.getElementById("tabs");
        var oUl = oTab.getElementsByTagName("ul")[0];
        var oLis = oUl.getElementsByTagName("li");
        var oDivs = oTab.getElementsByTagName("div");
       
        for(var i = 0,len = oLis.length;i<len;i++){
            oLis[i].index = i;
            oLis[i].onclick = function(){ //当点击任意一个div时,所有属性取消
                for(var n = 0;n<len;n++){
                    oLis[n].className = "";
                    oDivs[n].className = "hide";
                }
                // 获取呗点击的div添加属性
            this.className = "on";
            oDivs[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 中信府 公园楼王现房
    </div>
    <div class="hide">
     40平出租屋大改造 美少女的混搭小窝<br>
     经典清新简欧爱家 90平老房焕发新生<br>
     新中式的酷色温情 66平撞色活泼家居<br>
     瓷砖就像选好老婆 卫生间烟道的设计
    </div>
    <div class="hide">
     通州豪华3居260万 二环稀缺2居250w甩<br>
     西3环通透2居290万 130万2居限量抢购<br>
     黄城根小学学区仅260万 121平70万抛!<br>
     独家别墅280万 苏州桥2居优惠价248万
    </div>
</div> 
</body>
</html>

正确代码 可属性on的效果就是出不来

提问者:虞粥粥 2019-10-29 11:52

个回答

  • 慕容4342591
    2019-11-01 16:31:28
    已采纳

      #tabs ul li .on{border-top:2px saddlebrown solid;border-bottom:2px solid #fff ;}

    这一行中li和.on之间有空格,删掉空格好像就可以了