JS-实现 Teb 栏切换

这段代码展示了如何使用JavaScript实现网页中选项卡切换的功能。通过点击不同的选项卡,底部内容区域会显示相应的内容。主要涉及到CSS样式设置、DOM操作以及事件监听。代码中使用了类(class)来标识当前选中状态,并通过添加和删除类来控制内容的显示与隐藏。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

JS-实现 Teb 栏切换

需求:点击不同的选项卡,底部可以显示 不同的内容
在这里插入图片描述

javascript
全部代码

<!DOCTYPE html>
<html>

<head lang="en">
    <meta charset="UTF-8" />
    <title></title>
    <style type="text/css">
        * {
            margin: 0;
            padding: 0;
        }

        ul {
            list-style: none;
        }

        .wrapper {
            width: 1000px;
            height: 475px;
            margin: 0 auto;
            margin-top: 100px;
        }

        .tab {
            border: 1px solid #ddd;
            border-bottom: 0;
            height: 36px;
            width: 320px;
        }

        .tab li {
            position: relative;
            float: left;
            width: 80px;
            height: 34px;
            line-height: 34px;
            text-align: center;
            cursor: pointer;
            border-top: 4px solid #fff;
        }

        .tab span {
            position: absolute;
            right: 0;
            top: 10px;
            background: #ddd;
            width: 1px;
            height: 14px;
            overflow: hidden;
        }

        .products {
            width: 1002px;
            border: 1px solid #ddd;
            height: 476px;
        }

        .products .main {
            float: left;
            display: none;
        }

        .products .main.active {
            display: block;
        }

        .tab li.active {
            border-color: red;
            border-bottom: 0;
        }
    </style>
</head>

<body>
    <div class="wrapper">
        <ul class="tab">
            <li class="tab-item active">国际大牌<span></span></li>
            <li class="tab-item">国妆名牌<span></span></li>
            <li class="tab-item">清洁用品<span></span></li>
            <li class="tab-item">男士精品</li>
        </ul>
        <div class="products">
            <div class="main active">
                <a href="###"><img src="imgs/guojidapai.jpg" alt="" /></a>
            </div>
            <div class="main">
                <a href="###"><img src="imgs/guozhuangmingpin.jpg" alt="" /></a>
            </div>
            <div class="main">
                <a href="###"><img src="imgs/qingjieyongpin.jpg" alt="" /></a>
            </div>
            <div class="main">
                <a href="###"><img src="imgs/nanshijingpin.jpg" alt="" /></a>
            </div>
        </div>
    </div>

    <script>
        //  获取标签
        let tab = document.querySelectorAll('.tab li');
        let main = document.querySelectorAll('.main');
        // 遍历给tab添加事件
        for (let i = 0; i < tab.length; i++) {
            tab[i].addEventListener('click', function () {
                //① 让当前选中的tab添加类名 active
                // 让其他的tab  active类名删除
                document.querySelector('.tab .active').classList.remove('active');
                this.classList.add('active');

                //② 让内容更改
                //  选出让其他的内容隐藏 删掉active标签
                document.querySelector('.products .active').classList.remove('active');
                main[i].classList.add('active');
            });
        }
    </script>

</body>

</html>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值