JavaScript进阶实战 ---> tab页

来源:互联网 发布:盛世投资 知乎 编辑:程序博客网 时间:2024/06/01 20:32

使用原生JS编写,CSS,JS都写在html中,没有抽出。

1.效果图:


2.代码:

<!DOCTYPE html>
<html>
<head lang="en">
<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;height:28px;line-height:28px;margin:0px 3px;border:1px solid #aaaaaa;border-bottom:none;display:inline-block;width:60px;text-align: center;}
     #tabs ul li.on{border-top:2px solid saddlebrown;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.getElementsById("tabs");
        var oUl = oTab.getElementsByTagName("ul")[0];
        var oLis = oUl.getElementsByTagName("li");    //选项卡标
        var oDivs = oTab.getElementsByTagName("div");//对应div内容
        
        len=oLis.length
        for(var i=0;i<len;i++){
            oLis[i].index = i;
            oLis[i].onclick = function(){
                //循环将所有的不显示
                for(var j=0;j<len;j++){
                    oLis[j].className = "";
                    oDivs[j].className = "hide";
                }
                //显示到点击的这个
                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万买一居
        200万内购五环三居 140万安家东三环
        北京首现零首付楼盘 53万购东5环50平
        京楼盘直降5000 中信府 公园楼王现房
    </div>
    <div class="hide">
        40平出租屋大改造 美少女的混搭小窝
         经典清新简欧爱家 90平老房焕发新生
         新中式的酷色温情 66平撞色活泼家居
         瓷砖就像选好老婆 卫生间烟道的设计
    </div>
    <div class="hide">
        通州豪华3居260万 二环稀缺2居250w甩
         西3环通透2居290万 130万2居限量抢购
         黄城根小学学区仅260万 121平70万抛!
         独家别墅280万 苏州桥2居优惠价248万
    </div>
</div>
    
</body>
</html>