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

大佬们 我这有啥问题吗 感谢

<!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>


提问者:汉尼拔666 2020-03-11 22:48

个回答

  • 初学小小白
    2020-08-04 10:17:01

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

    初学者经常犯的错误,className为on的,就是li,不需要li.on,直接.on,就是选中了那个li

  • qq_慕工程8201326
    2020-03-12 22:48:04

    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>