2021-03-02

tab栏切换的小例子

初学JS&API

跟着视频做了一个 tab 栏切换的案例
思路:
1、tab切换 点击上面的选项卡底色会变成红色,其余不变(利用排他思想—核心是先干掉其他人,然后留下我自己)----这里可以使用修改类名的方式
2、当点击上面的选项卡后 下面的内容会随之变化,下面要写到点击事件里
3、上面的选项与下面的内容一一对应,可以给上面的每一个选项添加自定义的属性,属性值从0开始,与for循环里的 i 值相对应 更加方便~~

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        ul li {
            list-style: none;
        }
        
        .tab {
            width: 800px;
            margin: 100px auto;
        }
        
        .tab_list {
            display: inline-block;
            width: 600px;
            height: 40px;
            border: 1px solid #ccc;
            background-color: rgb(216, 212, 212);
            /* margin-top: 20px; */
        }
        
        .tab_list ul {
            margin: 0;
            margin-left: -40px;
        }
        
        .tab_list li {
            display: inline-block;
            margin-right: -4px;
            padding: 0 15px;
            line-height: 40px;
            cursor: pointer;
        }
        /* .tab_list li:hover {
            background-color: red;
            color: #fff;
        } */
        
        .current {
            background-color: red;
            color: #fff;
        }
        
        .item {
            display: none;
        }
    </style>
</head>

<body>
    <div class="tab">
        <div class="tab_list">
            <ul>
                <li class="current">商品介绍</li>
                <li>规格与包装</li>
                <li>售后服务</li>
                <li>商品评价(40000)</li>
                <li>手机社区</li>
            </ul>
        </div>
        <div class="tab_con">
            <div class="item" style="display: block;">
                商品介绍内容
            </div>
            <div class="item">
                规格与包装
            </div>
            <div class="item">
                售后服务
            </div>
            <div class="item">
                商品评价
            </div>
            <div class="item">
                手机社区
            </div>

        </div>
    </div>
    <script>
        // 获取元素
        var tab_list = document.querySelector('.tab_list');
        var lis = tab_list.querySelectorAll('li');
        var items = document.querySelectorAll('.item');
        // for循环绑定事件
        for (var i = 0; i < lis.length; i++) {
            // 开始给五个li 设置索引号
            lis[i].setAttribute('index', i);
            lis[i].onclick = function() {
                // 1.选项卡模块
                // 排他思想  其余的li清除 class 这个类 
                for (var i = 0; i < lis.length; i++) {
                    lis[i].className = '';
                }
                // 留下当前的 class 类
                this.className = 'current';

                // 2.显示内容模块
                var index = this.getAttribute('index');
                for (var i = 0; i < items.length; i++) {
                    items[i].style.display = 'none';
                }
                items[index].style.display = 'block';
            }
        }
    </script>
</body>

</html>

点击不同的选项显示不同的内容

2021-03-02
2021-03-02

上一篇:数组方法 map


下一篇:python小知识,列表推导式