选项卡切换

两盒软妹~` 提交于 2020-01-11 01:52:26

制作一个选项卡切换

1、把选项卡的html页面框架搭建起来

html页面代码

<!DOCTYPE html>
<html>

    <head>
        <meta charset="UTF-8">
        <title></title>
    </head>

    <body>
        <div>
            <!--居中的框架开始-->
            <div class="tab-jz">
                <!--选项卡开始-->
                <div class="tab-x" id="name">
                    <div class="tab-dj1">
                        <p>
                            <a href="#">选项1</a>
                        </p>
                    </div>
                    <div class="tab-dj2">
                        <p>
                            <a href="#">选项2</a>
                        </p>
                    </div>
                    <div class="tab-dj3 active">
                        <p>
                            <a href="#">选项3</a>
                        </p>
                    </div>
                    <div class="tab-dj4">
                        <p>
                            <a href="#">选项4</a>
                        </p>
                    </div>
                </div>
                <!--选项卡结束-->

                <!--显示的内容开始-->
                <div id="nr">

                    <div>
                        <p>显示的内容1</p>
                    </div>

                    <div>
                        <p>显示的内容2</p>
                    </div>

                    <div style="display: block;">
                        <p>显示的内容3</p>
                    </div>

                    <div>
                        <p>显示的内容4</p>
                    </div>

                </div>
                <!--显示的内容结束-->
            </div>
            <!--居中的框架结束-->
        </div>

        <link rel="stylesheet" href="css/tab.css" />
        <script type="text/javascript" src="js/jquery-1.12.4.js"></script>
        <script type="text/javascript" src="js/tab.js"></script>
    </body>

</html>

2、给html页面添加css样式

css页面代码

/*清除所有a标签的下划线以及添加黑色字体颜色*/

a {
    text-decoration: none;
    color: black;
}


/*居中的主体*/

.tab-jz {
    width: 50%;
    height: 200px;
    margin: 0 auto;
    border: 1px solid silver;
}


/*选项卡的框架样式*/

.tab-x {
    width: 100%;
    height: 50px;
    display: flex;
}


/*把选项卡分成四份*/

.tab-dj1 {
    flex: 1;
    background-color: #C0C0C0;
    border-right: 1px solid #9D9D9D;
    border-bottom: 1px solid silver;
}

.tab-dj2 {
    flex: 1;
    background-color: #C0C0C0;
    border-right: 1px solid #9D9D9D;
    border-bottom: 1px solid silver;
}

.tab-dj3 {
    flex: 1;
    background-color: #C0C0C0;
    border-right: 1px solid #9D9D9D;
    border-bottom: 1px solid silver;
}

.tab-dj4 {
    flex: 1;
    background-color: #C0C0C0;
    border-bottom: 1px solid silver;
}


/*字体居中*/

p {
    text-align: center;
}


/*把所有内容隐藏*/

#nr div {
    display: none;
}


/*改变选项卡的背景色*/

.active {
    background-color: white;
}

3、编写js让选项卡随意切换

js页面代码

$(function() {
    //获取id为name下的所有div
    var xx = document.getElementById("name").getElementsByTagName("div");

    //获取id为nr下的所有div
    var nr = document.getElementById("nr").getElementsByTagName("div");

    //遍历xx下的所有div
    for(var i = 0; i < xx.length; i++) {

        //为xx下的每个div添加index属性
        xx[i].index = i;

        //当你点击第i个选项卡时执行
        xx[i].onclick = function() {

            //再次遍历xx下的所有div
            for(var i = 0; i < xx.length; i++) {

                //当点击选项卡后根据下标移除选项卡的active类名(把选项卡的背景色清除)
                xx[i].classList.remove("active");

                //当点击选项卡后根据下标把显示的内容,用内部样式方式隐藏
                nr[i].style.display = "none";

            }
            //当点击选项卡后为这个选项卡添加active类名(添加选项卡的背景色)
            this.classList.add("active");

            //当点击选项卡后把这个下标隐藏的内容,用内部样式方式显示
            nr[this.index].style.display = "block";

        }
    }

});

4、效果图

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!