原生js写的tab切换,导航栏切换 - 前端笔记-使用原生js写的tab栏切换的原理 1.使用排他思想 2.设置自定义属性 style ol li{ ...

学习笔记

点滴记忆
回忆过往
首页>> web前端 >>原生js写的tab切换,导航栏切换 - 前端笔记
使用原生js写的tab栏切换的原理
1.使用排他思想
2.设置自定义属性

<style>
    ol>li {
        width100px;
        height50px;
        background-colorpink;
        floatleft;
        margin10px;
    }
    
    ul>li {
        width200px;
        displayblock;
        displaynone;
    }
</style>

<body>
    <ol>
        <li style="background-color: red;">tab栏1</li>
        <li>tab栏2</li>
        <li>tab栏3</li>
    </ol>
    <ul>
        <li style="display: block;">我是tab栏1的内容</li>
        <li>我是tab栏2的内容</li>
        <li>我是tab栏3的内容</li>
    </ul>
    <script>
        // 获取元素
        var ols = document.querySelectorAll('ol>li');
        var uls = document.querySelectorAll('ul>li');
        // 循环 ols元素 绑定点击事件
        for (var i = 0; i < ols.length; i++) {
            ols[i].setAttribute('index', i); //点击自定义属性
            ols[i].addEventListener('click'function() { //点击点击事件


                // 使用排他思想 清楚所有 ols 上面的 背景颜色
                for (var x = 0; x < ols.length; x++) {
                    ols[x].style.backgroundColor = '';
                }

                //排他 后面 给自己单独添加红色
                this.style.backgroundColor = 'red';

                // 使用排他思想给 所有 uls  都影藏起来了
                for (var i = 0; i < uls.length; i++) {
                    uls[i].style.display = 'none';
                }

                //使用获取 ols 上面的自定义属性  作为 uls的下标 显示对应的元素
                var num = this.getAttribute('index');
                uls[num].style.display = 'block';

            });
        }
    </script>

</body>

×

感谢您的支持,我们会一直保持!

扫码支持
请土豪扫码随意打赏

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

打赏作者
版权所有,转载注意明处:前端笔记 » 原生js写的tab切换,导航栏切换

发表评论

路人甲 表情
Ctrl+Enter快速提交

网友评论(0)