JavaScript实现Tab栏切换

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <!-- 开始书写css代码  -->
    <style>
        *{margin:0;padding:0;}
        .box {
            width: 400px;
            height: 350px;
            margin: 0 auto;
        }
        #tab {
            margin-top: 150px;
        }
        .box p {
            height: 40px;
        }
        .box span {
            display: block;
            width: 97px;
            height: 40px;
            float: left;
            text-align: center;
            line-height: 40px;
            cursor: pointer;
        }
        .current {
            background-color: pink;
        }
        .box div{
            width: 400px;
            height: 260px;
            background: pink;
            display: none;
        }
        .box div.show {
            display: block;
        }
    </style>
    <!-- 开始书写js代码  -->
    <script> 
        window.onload = function (){
            //  使用函数进行封装
            function fn(obj){
                // 获取外面的大盒子
                var target = document.getElementById(obj);
                // 获取大盒子下面的span元素
                var spans = target.getElementsByTagName('span');
                // 获取大盒子下面的div元素
                var divs = target.getElementsByTagName('div');
                // 使用for循环进行遍历
                for(var i=0;i<spans.length;i++){
                    // 获取索引值
                    spans[i].index = i;
                    // 鼠标移上切换相应的内容
                    spans[i].onmouseover = function (){
                        for(var i = 0;i<spans.length;i++){
                            // 大盒子下面的span,div元素的类名为空
                            spans[i].className = '';
                            divs[i].className = '';
                        }
                        // 当前移入的元素加上current类名
                        this.className = 'current';
                        // 给相应的div元素加上show类名
                        divs[this.index].className = 'show';
                    }
                }
            }
            // 调用该函数
            fn('tab');    
        }    
    </script>
</head>
<body>
    <div class="box" id="tab">
        <p>
            <span class="current">新闻</span>
            <span>图片</span>
            <span>娱乐</span>
            <span>星座</span>
        </p>
        <div class="show">新闻栏目</div>
        <div>图片栏目</div>
        <div>娱乐栏目</div>
        <div>星座栏目</div>
    </div>
</body>
</html>

转载于:https://my.oschina.net/homboyWeb/blog/886319

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值