tab栏的切换【html+css+js】

前言【来实现一个tab栏切换】

首先实现tab栏切换,是点击不同的按钮,显示不同的内容。用html+css的方式需要运用js来实现,获取它的DOM来实现一个切换。

HTML部分

<div class="tab">
        <div class="tab-head">
            <ul>
                <li class="current">
                    <a href="#">首页</a>
                </li>

                <li>
                    <a href="#">电视剧</a>
                </li>

                <li class="current">
                    <a href="#">动画片</a>
                </li>

                <li class="current">
                    <a href="#">综艺</a>
                </li>

            </ul>

        </div>

        <div class="tab-content">
            <div class="items"> 我是首页</div>
            <div> 我是电视剧模块</div>
            <div> 我是动画片模块</div>
            <div> 我是综艺模块</div>
        </div>
 </div>

css部分

<style>
        * {
            /* 初始化 */

            margin: 0;

            padding: 0;

            box-sizing: border-box;

        }

        body {
            /* 视口高度 */

            height: 100vh;

            /* flex布局 */

            display: flex;

            justify-content: center;

            align-items: center;

        }

        ul {
            /* 去除小圆点 */

            list-style: none;

        }

        .tab {
            width: 600px;

            height: 400px;

            border: 2px solid #ccc;

        }

        .tab-head ul {
            display: flex;
        }

        .tab-head ul li {
            display: flex;

            align-items: center;

            justify-content: center;

            height: 40px;

            /* 各占一份 */

            flex: 1;

        }

        .tab-head ul li a {
            text-decoration: none;

            color: black
        }

        .current {
            color: #fff;

            background-color: pink;

        }

        .current a {
            color: #fff !important;
        }



        .tab-content div {
            /* 其余隐藏 */

            display: none;

        }

        .tab-content .items {
            /* 第一个显示 */

            display: block;

        }
    </style>

JS部分

<script>
    // 获得所有的li
    var lis = document.querySelectorAll('li');
    // 获得.tab-content
    var tab_content = document.querySelector('.tab-content');
    // 获得.tab-content的子元素节点
    var item = tab_content.children;

    // 给所有的li绑定点击事件
    for (var i = 0; i < lis.length; i++) {
        // 给所有li添加索引号
        lis[i].setAttribute('index', i);
        lis[i].addEventListener('click', function () {
            for (var i = 0; i < lis.length; i++) {
                // 移除所有li的类名
                lis[i].className = '';
                // 移除所有.tab-content的子元素节点的类名
                item[i].className = '';
            }
            // 被点击的li添加current类名
            this.className = 'current';
            // 获得被点击li的索引号
            var index = this.getAttribute('index');
            item[index].className = 'items';
        })
    }

</script>

效果展示

在这里插入图片描述
在这里插入图片描述

tab栏切换

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

夏兮颜☆

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值