2018-11-08 js/jquery原生实现tab选项卡功能

分享下我自己用jquery(也可以换成js原生,只是写法有些许区别)手写的tab选项卡功能的demo
主要思想就是给每个按钮及每个tab都加上一个下标用于使其一一对应,如:

按钮[i] --> tab[j] (只有 i 等于 j 的时候按钮对应的tab才会显示出来)

html:

<button class="changebtn">tab1</button>

<button class="changebtn">tab2</button>

<button class="changebtn">tab3</button>

<div class="tab tab1">这是第一个tab</div>

<div class="tab">这是第二个tab</div>

<div class="tab tab3">这是第三个tab</div>

js:

var btns = $(".changebtn");

var tabs = $(".tab");

console.log(btns.length)

for(var i = 0;i < btns.length; i++){

    var btn = btns[i];

    btn.index = i;

    console.log(btn.index);

    for(var k = 0;k<tabs.length;k++){

        tabs[k].style.display = 'none';

    }

    btn.onclick = function () {

        for(var j = 0; j < tabs.length; j++){

            var oo = tabs[j];

            tabs.currentIndex = j;

        }

        tabs.css('display','none');

        tabs[this.index].style.display = 'block';

    }

}

css:(随便写的,方便区分tab块)

.changebtn{

    width: 60px;

    height: 30px;

    display: inline-flex;

    align-items: center;

    justify-content: center;

    background-color: #01AAED;

    color: #fff;

    border: none;

}

.tab{

    margin-top: 20px;

    width: 160px;

    line-height: 60px;

    text-align: center;

    background-color: red;

}

.tab1{

    background-color: yellow;

}

.tab3{

    background-color: green;

}

效果图:


©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容