原生JS写Tab切换

作者作为前端菜鸟,分享Tab切换代码。该代码使用静态数据,点击标签显示对应内容。思路为写好静态页面,获取Tab标签和内容li伪数组,遍历Tab伪数组存入索引值,通过onmouseover事件设置Tab和li属性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

						## 原生JS实现Tab切换 ##

本人是前端菜鸟一枚,喜欢钻研前端,前端的可视化界面带来的舒适,即可编写就可以看到效果界面,成就感满满!
这里写图片描述
废话不多说,开始撸代码!

这里写代码片
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
    *{
        margin: 0;
        padding: 0;
    }
    #outer{
        width: 450px;
        margin: 10px auto;
    }
    #tab{
        overflow: hidden;
        zoom:1;
        background: #000;
        border:1px solid #000;
    }
    #tab li{
        float:left;
        color:#fff;
        height:30px;
        cursor:pointer;
        line-height:30px;
        list-style-type:none;
        padding:0 20px;
    }
    #tab li.current{
        color:#000;
        background:#ccc;
    }
    #content{
        border:1px solid #000;
        border-top-width:0;
    }
    #content ul{
        line-height:25px;
        display:none;
        margin:0 30px;
        padding:10px 0;
    }
    </style>
    <script>
    window.onload=function(){
       var tab = document.getElementById("tab").getElementsByTagName("li");
       var content = document.getElementById("content").getElementsByTagName("ul");
       for(var i = 0; i<tab.length;i++){
           tab[i].index=i;
           tab[i].onmouseover=function(){
                for(var n = 0; n<tab.length;n++){
                    tab[n].className="";
                    this.className="current";
                }
                for(var n = 0;n<content.length;n++){
                    content[n].style.display = "none";
                    content[this.index].style.display="block"
                }
           }
       }
    }
    </script>
</head>
<body>
    <div id="outer">
        <ul id="tab">
            <li class="current">第一课</li>
            <li>第二课</li>
            <li>第三课</li>
        </ul>
        <div id="content">
            <ul style="display: block;">
                <li>网页特效原理分析</li>
                <li>响应用户操作</li>
                <li>提示框效果</li>
                <li>事件驱动</li>
                <li>元素属性操作</li>
            </ul>
            <ul>
                    <li>网ddddddddd</li>
                    <li>响应用户操作</li>
                    <li>提示框效果</li>
                    <li>事件驱动</li>
                    <li>元素属性操作</li>
                    <li>网ddddddddd</li>
                    <li>响应用户操作</li>
                    <li>提示框效果</li>
                    <li>事件驱动</li>
                    <li>元素属性操作</li>
            </ul> 
            <ul>
                    <li>AAAAAAAAAAAAA</li>
                    <li>响应用户操作</li>
                    <li>提示框效果</li>
                    <li>事件驱动</li>
                    <li>元素属性操作</li>
            </ul>
        </div>  
    </div>
</body>
</html>

以上就是Tab切换代码;
这个不是动态更改的,只是写好的静态数据,点击相应的标签显示对应的内容。

思路总结:

  • 1.写好静态数据页面
  • 2.获取Tab标签和内容li的伪数组
  • 3.然后遍历Tab伪数组,tab[i].inidex=i 将 i的值存入tab[i]中;
  • 4.然后通过onmouseover事件,在函数中设置Tab和li属性就OK!


代码中要是有哪些不好地方,欢迎指责。

17:41
2018/8/26

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值