美文网首页
js:选项卡切换-demo

js:选项卡切换-demo

作者: db366da20578 | 来源:发表于2018-02-11 11:41 被阅读0次

    效果图:

    选项卡.gif

    HTML代码:

    <div id="div1">
        <input class="active" type="button" value="头条"/>
        <input type="button" value="八卦"/>
        <input type="button" value="看天下"/>
        <input type="button" value="社会"/>
        <div style="display: block;">1111</div>
        <div>2222</div>
        <div>3333</div>
        <div>4444</div>
    </div>
    

    CSS代码:

    #div1 div {
        width: 200px;
        height: 200px;
        background: red;
        border: 1px solid #000000;
        display: none;
    }
    input.active {
        background: yellow;
    }
    

    Javascript代码:

    window.onload=function(){
        var oDiv=document.getElementById('div1');
        var aBtn=oDiv.getElementsByTagName('input');
        var aDiv1=oDiv.getElementsByTagName('div');
    
        for(var i=0;i<aBtn.length;i++){
            aBtn[i].index=i;
            aBtn[i].onclick=function(){
                for(var i=0;i<aBtn.length;i++){
                    //加个for循环,清除所有class是active
                    aBtn[i].className='';
                    aDiv1[i].style.display='none';
                    }
                //给当前class加active
                this.className='active';
                aDiv1[this.index].style.display='block';
            }
        }
    }
    
    <html>
    <head>
    <meta charset="UTF-8">
    <title>选项卡</title>
    <script type="text/javascript" src="jquery-1.10.2.min.js"></script>
    </head>
    <style>
    .tab{width:400px;height:400px;border:1px solid red;}
    .tab-menu{height:100px;width:400px;border:1px solid grey;}
    .tab-menu ul{list-style:none;}
    .tab-menu li{display:block;width:30%;float:left;border:1px solid blue;}
    .tab-box div{width:400px;height:300px;border:1px solid #ff4200;display:none;}
    /* 让第一个框显示出来 */
    .tab-box div:first-Child{display:block;} 
    /* 改变选项卡选中时候的样式 */
    .change{background:red;} 
    </style>
    <script>
    $().ready(function(){
        $(".tab-menu li").mouseover(function(){
        //通过 .index()方法获取元素下标,从0开始,赋值给某个变量
            var _index = $(this).index();
        //让内容框的第 _index 个显示出来,其他的被隐藏
            $(".tab-box>div").eq(_index).show().siblings().hide();
        //改变选中时候的选项框的样式,移除其他几个选项的样式
        $(this).addClass("change").siblings().removeClass("change");
        });
    });
    </script>
    <body>
        <div class="tab">
            <div class="tab-menu">
                <ul>
                    <li>新服</li>
                    <li>爆服</li>
                    <li>大服</li>
                </ul>
            </div>
            <div class="tab-box">
                <div>123</div>
                <div>456</div>
                <div>789</div>
            </div>
        </div>
    </body>
    </html>
    

    相关文章

      网友评论

          本文标题:js:选项卡切换-demo

          本文链接:https://www.haomeiwen.com/subject/mjuktftx.html