JavaScript之选项卡

本文介绍了一个简单的选项卡网页布局实例,使用HTML进行页面结构搭建,通过CSS进行样式设计,并利用JavaScript实现选项卡间的切换效果。该实例展示了如何创建一个交互式的选项卡组件,适用于房产、家居等不同主题的内容展示。
<!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;
         height:150px;
         padding:5px;
         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.getElementById("tabs")//获取tabs的id赋值给oTab。
        var oUl = oTab.getElementsByTagName("ul")[0];//从oTab获取ul的元素。
        var oLis = oUl.getElementsByTagName("li");//从oUl中获取li的元素。
        var oDivs =oTab.getElementsByTagName("div");//从oTab中获取div的元素。
        for(var i=0,len = oLis.length;i<len;i++){  //大循环时对li的循环。
            oLis[i].index = i;//oLis中的所有元素设置一个索引值,便于查找
            oLis[i].onclick = function(){  //点击事件
                for (var n=0;n<len;n++){   
                    oLis[n].className ="";
                    oDivs[n].className = "hide";
                }
                this.className = "on";
                oDivs[this.index].className = "";//设置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 中信府 公园楼王现房<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>
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值