首页 > 技术文章 > JavaScript选项卡

qzccl 2016-03-27 19:07 原文

实现js选项卡

html的代码如下:

<div class="tabdiv">
            <ul class="tabs" id="oTab">
                <li class="tabin1"><a href="#">房产</a></li>
                <li><a href="#">家居</a></li>
                <li><a href="#">二手房</a></li>
            </ul>
            <div class="tabs_body" id="tab-list">
                <div class="show" id="tabs_body_main">
                    <a href="#">275万购昌平邻铁三居 总价20万买一居</a>
                    <a href="#">200万内购五环三居 140万安家东三环</a>
                    <a href="#">北京首现零首付楼盘 53万购东5环50平</a>
                    <a href="#">京楼盘直降5000 中信府 公园楼王现房</a>

                </div>
                <div class="hide" id="tabs_body_main">
                    <a href="#"> 40平出租屋大改造 美少女的混搭小窝</a>
                    <a href="#">经典清新简欧爱家 90平老房焕发新生</a>
                    <a href="#">新中式的酷色温情 66平撞色活泼家居</a>
                    <a href="#"> 京楼盘直降5000 中信府 公园楼王现房</a>

                </div>
                <div class="hide" id="tabs_body_main">
                    <a href="#">通州豪华3居260万 二环稀缺2居250w甩</a>
                    <a href="#">西3环通透2居290万 130万2居限量抢购</a>
                    <a href="#">黄城根小学学区仅260万 121平70万抛!</a>
                    <a href="#">独家别墅280万 苏州桥2居优惠价248万</a>

                </div>
            </div>
        </div>

 

1、通过鼠标划过来看选中选项卡的哪个标题,其实也就是通过li的class=“tabin1”来改变选中标题样式;

2、选中标题的内容也是通过class的转变来控制,主要是使用display样式;

3、选中标题和内容通过他们的下标来对应起来;

具体的js代码实现如下所示:

var oTab = document.getElementById("oTab");
    var tabin = oTab.getElementsByTagName("li");
    var oDiv = document.getElementById("tab-list");
    var aDiv = oDiv.getElementsByTagName("div");
    for (var i = 0, len = tabin.length; i < len; i++) {
        tabin[i].index = i;
        tabin[i].onmouseover = function() {
            for (var i = 0; i < tabin.length; i++) {
                tabin[i].className = "";
            }
            this.className = "tabin1";
            for (var j = 0; j < aDiv.length; j++) {
                aDiv[j].className = "hide";
            }
            aDiv[this.index].className = "show";
        }
    }

 

推荐阅读