真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

js中如何封裝選項卡

這篇文章將為大家詳細講解有關js中如何封裝選項卡,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

為企業(yè)提供成都網(wǎng)站制作、成都網(wǎng)站設計、網(wǎng)站優(yōu)化、營銷型網(wǎng)站、競價托管、品牌運營等營銷獲客服務。成都創(chuàng)新互聯(lián)擁有網(wǎng)絡營銷運營團隊,以豐富的互聯(lián)網(wǎng)營銷經(jīng)驗助力企業(yè)精準獲客,真正落地解決中小企業(yè)營銷獲客難題,做到“讓獲客更簡單”。自創(chuàng)立至今,成功用技術實力解決了企業(yè)“網(wǎng)站建設、網(wǎng)絡品牌塑造、網(wǎng)絡營銷”三大難題,同時降低了營銷成本,提高了有效客戶轉化率,獲得了眾多企業(yè)客戶的高度認可!

這個插件對應的html的結構如下


    
      頁卡一
      
  • 頁卡二
  •       
  • 頁卡三
  •                 
    1
          
    2
          
    3
          
    4
        
        
    內(nèi)容二
        
    內(nèi)容三
      

    版本1

    //實現(xiàn)一個選項卡封裝:我們可以分析出,只要多個選項卡的主體結構一樣,那么每個實現(xiàn)的思想都是一樣的,唯一不一樣的就是最外層的盒子不一樣
    
    ~function(){
      /*
        tabChange:封裝一個選項卡的插件,只要大結構保持統(tǒng)一,以后實現(xiàn)選項卡的功能,只需要調(diào)取這個方法執(zhí)行即可實現(xiàn)
        param:container當前要實現(xiàn)選項卡的這個容器
            defaultIndex:默認選中項的索引
      */
      function tabChange(container,defaultIndex){
        var tabFirst = utils.firstChild(container),oLis = utils.children(tabFirst);
        var divList = utils.children(container,"div");
        //讓defaultIndex對應的頁卡有選中的樣式
        defaultIndex = defaultIndex || 0;
        utils.addClass(oLis[defaultIndex],"select");
        utils.addClass(divList[defaultIndex],"select");
        //具體的切換功能
        for(var i = 0;i

    版本2(將for循環(huán)改為使用事件委托的方式)

    //實現(xiàn)一個選項卡封裝:我們可以分析出,只要多個選項卡的主體結構一樣,那么每個實現(xiàn)的思想都是一樣的,唯一不一樣的就是最外層的盒子不一樣
    
    ~function(){
      /*
        tabChange:封裝一個選項卡的插件,只要大結構保持統(tǒng)一,以后實現(xiàn)選項卡的功能,只需要調(diào)取這個方法執(zhí)行即可實現(xiàn)
        param:container當前要實現(xiàn)選項卡的這個容器
            defaultIndex:默認選中項的索引
      */
      function tabChange(container,defaultIndex){
        var tabFirst = utils.firstChild(container),oLis = utils.children(tabFirst);
        var divList = utils.children(container,"div");
        //讓defaultIndex對應的頁卡有選中的樣式
        defaultIndex = defaultIndex || 0;
        utils.addClass(oLis[defaultIndex],"select");
        utils.addClass(divList[defaultIndex],"select");
        //具體的切換功能
        
        //使用事件委托優(yōu)化
        tabFirst.onclick = function(e){
          e = e || window.event;
          e.target = e.target || e.srcElement;
          if(e.target.tagName.toLowercase()==="li"){//說明當前點擊的是li標簽
            detailFn.call(e.target,oLis,divList);
    
          }
        }
      }
      function detailFn(oLis,divList){
        var index = utils.index(this);
        utils.addClass(this,"select");
        for(var i = 0;i

    版本3:面向對象的方式,使用構造函數(shù)

    //實現(xiàn)一個選項卡封裝:我們可以分析出,只要多個選項卡的主體結構一樣,那么每個實現(xiàn)的思想都是一樣的,唯一不一樣的就是最外層的盒子不一樣
    
    ~function(){
      /*
        tabChange:封裝一個選項卡的插件,只要大結構保持統(tǒng)一,以后實現(xiàn)選項卡的功能,只需要調(diào)取這個方法執(zhí)行即可實現(xiàn)
        param:container當前要實現(xiàn)選項卡的這個容器
            defaultIndex:默認選中項的索引
      */
    
    
      function TabChange(container,defaultIndex){
        this.init(container,defaultIndex);
    
      }
      TabChange.prototype = {
        constructor:TabChange,//注意重寫原型方法,需要重新指定構造器
        //初始化 ,也是當前插件的唯一入口
        init:function(container,defaultIndex){
          this.container = container || null;
          this.defaultIndex = defaultIndex || 0;
          this.tabFirst = utils.firstChild(this.container);
          this.oLis = utils.children(this.tabFirst);
          this.divList = utils.children(this.container,"div");
    
          this.defaultIndexEven();
          this.liveClick();
          return this;
        },
        //事件委托實現(xiàn)綁定切換
        liveClick:function(){
          var _this = this;
          this.tabFirst.onclick = function(e){
            e = e || window.event;
            e.target = e.target || e.srcElement;
            if(e.target.tagName.toLowercase()==="li"){//說明當前點擊的是li標簽
              _this.detailFn(e.target);
    
            }
          }
        },
        detailFn:function(curEle){
          var index = utils.index(curEle);
          utils.addClass(curEle,"select");
          for(var i = 0;i

    關于“js中如何封裝選項卡”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。


    本文名稱:js中如何封裝選項卡
    網(wǎng)站路徑:http://weahome.cn/article/gpdcpe.html

    其他資訊

    在線咨詢

    微信咨詢

    電話咨詢

    028-86922220(工作日)

    18980820575(7×24)

    提交需求

    返回頂部