美文网首页
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