JS实现简单的选项卡效果

原生js简单选项卡的实现,利用自定义属性

HTML代码:

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

        <div class="current">1</div>
        <div>2</div>
        <div>3</div>
</div>

CSS代码:

<style>
        * {  margin: 0; padding: 0;  }

        ul, ol {  list-style: none;}

        #main {
            width: 460px;
            margin: 120px auto;
        }

        #main ul li {
            height: 40px;
            width: 80px;
            border: 1px solid #000;
            text-align: center;
            line-height: 40px;
            display: inline-block;
            margin-right: 5px;
            position: relative;
            top: 1px;
            cursor: pointer;
        }

        #main div {
            width: 460px;
            height: 300px;
            border: 1px solid #000;
            text-align: center;
            padding: 20px;
            font-size: 32px;
            display: none;
        }

        #main ul li.current {
            background-color: darkcyan;
            border-bottom-color: darkcyan;
        }

        #main div.current {
            background-color: darkcyan;
            display: block;
        }
    </style>

JS代码:

<script>

        var main = document.getElementById("main");
        var list = main.getElementsByTagName("li");
        var divs = main.getElementsByTagName("div");

        // 绑定事件
        for (var i = 0; i < list.length; i++) {
            list[i].index = i;
            list[i].onclick = addStyle;
        }

        function addStyle(){
            for(var i=0; i<list.length; i++){
                list[i].className = "";
                divs[i].className = "";
            }
            this.className = "current";
            divs[this.index].className = "current";
        }

</script>

效果图
在这里插入图片描述
。。。。。。。。嗝~~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值