前端开发

 首页 > 前端开发 > javascript > javascript选项卡方法

javascript选项卡方法

分享到:
【字体:
导读:
          本文讲解javascript选项卡方法 html代码: !DOCTYPEhtmlhtmlheadmetacharset=utf-8/title原生javascript通过获取html标签属性class实现多选项卡/titlestyletype=text/css.tab{clear:both;margin:20pxauto;padding:10px;width:680...

本文讲解javascript选项卡方法

html代码:



  
    
    原生javascript通过获取html标签属性class实现多选项卡
    
      .tab {
        clear: both;
        margin: 20px auto;
        padding: 10px;
        width: 680px;
        overflow: hidden;
      }
      .tab .tab-menu {
        margin: 0;
        padding: 0;
        list-style: none;
      }
      .tab .tab-menu li {
        display: inline;
        margin: 0 2px 0 0;
      }      
      .tab .tab-menu li a {
        padding: 0 1em;
        text-decoration: none;
        color: #a80;
        background: #fe5;
      }
      .tab .tab-menu li a:hover {
        background: #fc0;
        color: #540;
      }
      .tab .tab-menu .active {
      }
      .tab .tab-menu .active a {
        padding-bottom: 2px;
        font-weight: bold;
        color: black;
        background: #fc0;
      }
      .tab .tab-panel {
        padding: 1em;
        border: 2px solid #fc0;
        background: #fff;
      }
      .tab .tab-panel h2 {
        font-size: 1.5em;
        color: #fc0;
      }
      .tab .tab-none {
        display: none;
      }
    
          
      function Tab(style, scope){
        this.oItem = this.getByClass(style, scope);
        this.init();
      }
      Tab.prototype = {
        init: function(){
          var that = this, menu, m;
          for(var i = 0, len = this.oItem.length; i < len; i++){
            menu = this.oItem[i].getElementsByTagName('li');
            for(var j = 0, mLen = menu.length; j < mLen; j++){
              m = menu[j];
              m.index = j;
              m.onmouseover = function(){that.focus(this);}
            }
          }
        },
        focus: function(o){
          var par = o.parentNode.parentNode, panel = par.getElementsByTagName('div'), 
            btn = par.getElementsByTagName('li'), len = btn.length;
          for(var i = 0; i < len; i++){
            btn[i].className = '';
            panel[i].className = this.changeClass(panel[i].className, 'tab-none', true);
          }
          o.className = 'active';
          panel[o.index].className = this.changeClass(panel[o.index].className, 'tab-none', false);
        },
        changeClass: function(cl, cl2, add){
          var flag;
          if(cl.match(cl2) != null) flag = true;
          if(add ^ flag) return flag ? cl.replace(cl2, '') : cl += ' ' + cl2;
          return cl;
        },
        getByClass: function(cla, obj){
          var obj = obj || document, arr = [];
          if(document.getElementsByClassName){
            return document.getElementsByClassName(cla);
          } else {
            var all = obj.getElementsByTagName('*');
            for(var i = 0, len = all.length; i < len; i++){
              if(all[i].className.match(cla) != null) arr.push(all[i]);
            }
            return arr;
          }
        }
      }
      window.onload = function(){
        new Tab('tab-menu', null);
      }
    
  
  
    
      
        111
        
  • 122
  •         
  • 133
  •                       111       
                   122       
                   133       
        
                        211         
  • 222
  •         
  • 233
  •                       211                       222                       233                                 311         
  • 322
  •         
  • 333
  •                       311                       322                       333               


    分享到:
    alert(window.ActiveXObject); alert(ty...
    本文讲解javascript如何判断IE版本 下面通过代码给大家讲解下,具体请看下文: IE浏览器与非IE浏览器的区别是IE浏览器支持ActiveXObject,但是非IE浏览器不支持ActiveXObject。在IE11浏览器还没出现的时候我们判断IE和非IE经常是这么写的 function isIe(){      return window.ActiveXObject ? true : false; ...
    JavaScript对数组进行随机排序
    本文讲解:JavaScript对数组进行随机排序 var count = 100000,arr = []; for(var i=0;i.5 ? -1 : 1;}); document.write(arr+&#039;&#039;); var t1 = new Date().getTime(); document.write(t1-t); //以下方法效率最高 if (!Array.prototype.shuffle) {   Array.prototype.shuffle = function...
    •         php迷,一个php技术的分享社区,专属您自己的技术摘抄本、收藏夹。
    • 在这里……