【JS实现】tab栏切换

效果

技术点

排他思想

自定义属性

JS

 <script>
        // 点击某一个,底色变色
        var tab_list = document.querySelector('.tab_list');
        var lis = document.querySelectorAll('li');
        var item = document.querySelectorAll('.item');
        // for循环绑定点击事件
        for (var i = 0; i < lis.length; i++) {
            // 开始给5个小li 设定索引号
            lis[i].setAttribute('index', i);
            lis[i].addEventListener('click', function() {
                // 干掉其他人,只剩我自己,使用for循环解决
                for (var i = 0; i < lis.length; i++) {
                    lis[i].className = '';
                }
                // 留下我自己
                this.className = 'current';
                // 下面的显示模块的内容
                var index = this.getAttribute('index');
                for (var i = 0; i < item.length; i++) {
                    item[i].style.display = 'none';
                }
                item[index].style.display = 'block';
            })

        }
    </script>

 

CSS

    <style>
        * {
            margin: 0;
            padding: 0;
        }
        .tab {
            width: 1200px;
            height: 800px;
            margin: 100px auto;
        }
        .tab_list {
            width: 100%;
            height: 40px;
            background-color: #ccc;
        }
        .tab_list ul li {
            float: left;
            height: 100%;
            list-style: none;
            padding: 0 20px;
            font-size: 20px;
            line-height: 40px;
            text-align: center;
            color: white;

        }
        .current {
            background-color: red;
        }
        .item {
            display: none;
        }
    </style>

 

 

HTML

    <div class="tab">
        <div class="tab_list">
            <ul>
                <li class="current">商品介绍</li>
                <li>规格与包装</li>
                <li>售后保障</li>
                <li>商品评价</li>
                <li>手机社区</li>
            </ul>
        </div>
        <div class="tab_con">
            <div class="item" style="display: block;">测试1</div>
            <div class="item">测试2</div>
            <div class="item">测试3</div>
            <div class="item">测试4</div>
            <div class="item">测试5</div>
        </div>
    </div>
本站部分文章资源来源于互联网,仅供学习交流,如若要商用,请购买正版!
若不听劝告,网友造成出现一切后果,与本站本人无关
本站有些资源未经测试,请注意网络安全,本站不对下载的资源造成的后果负责
免责声明
作者:昼白
转载请注明来源:https://www.zhoubaiwl.club/3253.htm
THE END
分享
二维码
打赏
< <上一篇
下一篇>>
文章目录
关闭
目 录