手把手教你实现tab选项卡效果的简单方式

小编又上线了,今日跟大家分享一下实现tab选项卡简单的方式,tab选项卡是我们常常用到的一个功能点,先给大家介绍两种方式 --------莫急,请耐心看完哦

1、原生js实现tab选项卡切换
2、jquery实现tab选项卡切换第一种方式,show()和hide()
3、jquery实现tab选项卡切换第二种方式,addClass()和removeClass()

1、原生js实现tab选项卡切换
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        *{
     
            margin: 0;
            padding: 0;
            list-style: none;
        }
        .box{
     
            display: flex;
        }
        .left li{
     
            border: 1px  black solid;
            width: 200px;
            height: 50px;
            text-align: center;
            line-height: 50px;
            font-size: 25px;
        }
        .left .active{
     
            background: orange;
        }
        .left li:hover{
     
            background: orange;
        }
        .box .right{
     
            flex:1;
            border: 1px black solid;
        }
        .right>div{
     
            font-size: 30px;            
            display: none;
        }
    </style>
</head>
<body>
    <div class="box">
        <div class="left">
            <ul class="ul">
                <li class="active">女装</li>
                <li>男装</li>
                <li>童装</li>
                <li>化妆品</li>
            </ul>
        </div>
        <div class="right">
            <div style="display: block;">女装区</div>
            <div>男装内容</div>
            <div>童装内容</div>
            <div>化妆品内容</div>
        </div>
    </div>

    <script>
        var lis=document.getElementsByClassName("ul")[0].children;
        var right=document.getElementsByClassName("right")[0].children;
         
        //这里声明变量切记使用let声明哦
        for(let i=0;i<lis.length;i++){
     
            lis[i].onclick=function(){
     
                for(let j=0;j<lis.length;j++){
     
                    lis[j].removeAttribute("class");
                    right[j].style.display="none";
                }
                lis[i].setAttribute("class","active");
                right[i].style.display="block";
            }
        }
    </script>
</body>
</html>

2.jquery实现tab选项卡切换第一种方式,show()和hide()
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="./jquery-3.5.1.js"></script>
    <style>
        *{
     
            margin: 0;
            padding: 0;
            list-style: none;
        }
        #ul{
     
            display: flex;
        }
        #ul>li{
     
            border: 1px black solid;
            width: 150px;
            height: 50px;
            text-align: center;
            line-height: 50px;
            font-size: 25px;
        }
        #div{
     
            border: 1px black solid;
            width: 606px;
            height: 200px;
        }
        #div>div{
     
            display: none;
        }
    </style>
</head>
<body>
    
    
    <ul id="ul">
        <li class="active">电锅</li>
        <li>空调</li>
        <li>冰箱</li>
        <li>洗衣机</li>
    </ul>
    <div id="div">
        <div style="display: block;">电锅各种品牌</div>
        <div>空调价格</div>
        <div>冰箱评价</div>
        <div>洗衣机服务</div>
    </div>

    <script>
        //jquery中简单实现tab选项卡切换  取共同的下标  行内样式
        $("#ul>li").on("click",function(){
     
            var index=$(this).index();
            $(this).addClass("active").siblings().removeClass("active");
            $("#div>div").eq(index).show().siblings().hide()
        })
    </script>
</body>
</html>

3.jquery实现tab选项卡切换第二种方式,addClass()和removeClass()
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="./jquery-3.5.1.js"></script>
    <style>
        *{
     
            margin: 0;
            padding: 0;
            list-style: none;
        }
        #ul{
     
            display: flex;
        }
        #ul>li{
     
            border: 1px black solid;
            width: 150px;
            height: 50px;
            text-align: center;
            line-height: 50px;
            font-size: 25px;
        }
        #div{
     
            border: 1px black solid;
            width: 606px;
            height: 200px;
        }
        #div>div{
     
            display: none;
        }
        #div .show{
     
            display: block;
        }
    </style>
</head>
<body>
    <ul id="ul">
        <li class="active">电锅</li>
        <li>空调</li>
        <li>冰箱</li>
        <li>洗衣机</li>
    </ul>
    <div id="div">
        <div class="show">电锅各种品牌</div>
        <div>空调价格</div>
        <div>冰箱评价</div>
        <div>洗衣机服务</div>
    </div>

    <script>

        //同样也是取共同的下标  tab选项卡切换  使用添加和删除属性操作addClass()  removeClass()
        $("#ul>li").click(function(){
     
            var index=$(this).index();
            $(this).addClass("actvve").siblings().removeClass("active");
            $("#div>div").eq(index).addClass("show").siblings().removeClass("show");
        })
    </script>
</body>
</html>

你可能感兴趣的:(javascript)