使用JavaScript实现选项卡

使用JavaScript实现选项卡
点击选项卡时内容随之改变,实现点击选项卡切换
在这里插入图片描述
在这里插入图片描述
HTML部分:

<ul>
        <li>1</li>
        <li>2</li>
        <li>3</li>
        <li>4</li>
    </ul>
    <div class="current">1</div>
    <div>2</div>
    <div>3</div>
    <div>4</div>

css部分:

<style>
        * {
            margin: 0;
            padding: 0;
        }
        
        ul {
            display: flex;
            justify-content: space-between;
            width: 800px;
            height: 100px;
            margin: 50px auto;
        }
        
        ul li {
            list-style: none;
            width: 200px;
            height: 100px;
            background-color: pink;
            text-align: center;
            line-height: 100px;
            /* float: left; */
            cursor: pointer;
        }
        
        div {
            width: 800px;
            height: 400px;
            background-color: skyblue;
            /* margin: 20px auto; */
            position: absolute;
            top: 200px;
            left: 50%;
            transform: translate(-50%);
            text-align: center;
            color: #fff;
            font-size: 100px;
            line-height: 400px;
            display: none;
        }
        
        .current {
            /* z-index: 33; */
            display: block;
        }
    </style>

JavaScript部分:

   <script>
        var lis = document.querySelectorAll('li')
        var divs = document.querySelectorAll('div')
        console.dir(divs[0])
            // divs[1].zindex = 33
            // console.log(lis)
            // 第一层循环:给每一个li设置索引属性;给每一个li注册点击事件
        for (var i = 0; i < lis.length; i++) {
            lis[i].setAttribute('index', i)
            lis[i].onclick = function() {
                // 这个循环目的是排他思想  让所有的li背景色是空  当前的被点击的Li高亮显示
                for (var i = 0; i < lis.length; i++) {
                    lis[i].style.backgroundColor = ''
                }
                // 当前的被点击的Li高亮显示
                this.style.backgroundColor = 'yellow'
                    // console.log(this.getAttribute('index'))
                    // 获取当前被点击的li的索引 让对应的div显示
                var index = parseInt(this.getAttribute('index'))
                    // divs[index].style.display = 'block'
                for (var i = 0; i < divs.length; i++) {
                    divs[i].style.display = 'none'
                }
                divs[index].style.display = 'block'
            }
        }
    </script>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值