使用js实现页面tab切换效果

使用js实现页面切换代码如下:
【HTML部分】

 <nav>
        <ul>
            <li class="hh"><a>星期一</a></li>
            <li><a>星期二</a></li>
            <li><a>星期三</a></li>
            <li><a>星期四</a></li>
            <li><a>星期五</a></li>
        </ul>
    </nav>
    <div class="content">
        <div class="one">
            吃烤肉
        </div>
        <div class="one">
            吃火锅
        </div>
        <div class="one">
            吃鸡腿
        </div>
        <div class="one">
            吃海鲜
        </div>
        <div class="one">
            吃白菜
        </div>
    </div>

【css部分代码】

<style>
        nav{
            margin: 0 auto;
            height:50px;
            width: 50%;
            background-color: pink;
            margin-top: 10%;
        }
        nav ul li{
            float: left;
        }
        nav ul li{
            line-height: 50px;
            font-size: 16px;
            padding: 0 35px;
        }
        nav ul  .hh:hover{
            background-color: rgb(117, 152, 218);
        }
        .content{
            height: 100%;
        }
        .one{
            width: 50%;
            height: 150px;
            background-color: aquamarine;
            margin: 0 auto;
             /* 隐藏 */
            display: none;
              /* 水平居中 */
            text-align: center;
             /* 垂直居中 */
            line-height: 150px;
        }
    </style>

【js部分】
具体代码解释已在代码注释中说明,如下:

<script>
        // 1.获取元素
        var nav=document.querySelector('nav');
        //获取所有的li
        var lis=nav.querySelectorAll('li');
       //获取所有的显示盒子
        var item=document.querySelectorAll('.one')
        // for循环绑定点击事件
        for(var i=0;i<lis.length;i++){
            //给每次的点击一个索引值
            lis[i].setAttribute('index',i);
            lis[i].onclick=function(){
                for(var i=0;i<lis.length;i++){
                    // 其余的li清除class类
                    lis[i].className='';
                }
                // 留下自己
                this.className='hh';
                //点击之后显示
                var index = this.getAttribute('index');
                //索引值打印,点击导航栏即可看到相应索引值
                console.log(index);
                // 将其他盒子隐藏
                for(var i=0;i<item.length;i++){
                    item[i].style.display='none'
                }

                // 谁点击,让点击的盒子显示出来
                item[index].style.display='block';
            }
        }
    </script>

运行结果如下:
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值