2019-05-08

(对象)选项卡模板

使用对象制作
html代码:

<div id="btn">
        <button>1</button>
        <button>2</button>
        <button>3</button>
</div>
<ul id="list_show">
        <li>我是内容1</li>
        <li>我是内容2</li>
        <li>我是内容3</li>
</ul>

js代码:


function Tab(){
};
Tab.prototype.init = function(btns,lis,eventType){
        this.btns = Array.from(btns) //这里转不转为真数组无影响
        this.lis = Array.from(lis)  //这里转不转为真数组无影响
        //console.log(this.btns)
        //console.log(this.lis)
        this.eventType = typeof eventType === "string" ? eventType : "click"
        this.index = 0;
        this.bindEvent();
}
Tab.prototype.bindEvent = function(){
        for(var i = 0 , ele ; ele = this.btns[i] ; i ++){
                ele.addEventListener(this.eventType,this.getIndex.bind(this,i,this.showTab));
        }
}
Tab.prototype.getIndex = function(i,next){
        this.index = i;
        if(typeof next === "function"){
            next.call(this);
        }
}
Tab.prototype.showTab = function(){
        for(var i = 0 ,ele ; ele = this.lis[i] ; i ++){
                if(i === this.index){
                        ele.style.display = "block";
                        continue;
                }else{
                        ele.style.display = "none"
                }
        }
}
var btns = document.querySelectorAll("#btn button")
var lis = document.querySelectorAll("#list_show li")
var tab = new Tab();
tab.init(btns,lis)


©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 13,887评论 1 32
  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML标准。 注意:讲述HT...
    kismetajun阅读 28,346评论 1 45
  • 原生js的选项卡模板
    敲代码救地球阅读 49评论 0 2
  • 困, 清早, 挤地铁, 人山人海, 限流二十分, 三趟车没挤上, 但今儿阳光甚好。 小白鞋被踩花, 有人在争吵, ...
    宇的印记阅读 1,702评论 0 0
  • 题记:此诗作于2018年9月21日,读中国诗歌网好诗,以汝现代诗注吾旧体诗系列。 田头日晚鸠唤雨,垄上风轻麦青青。...
    海之兰_6df9阅读 4,138评论 5 14

友情链接更多精彩内容