欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

javascript通過獲取html標(biāo)簽屬性class實現(xiàn)多選項卡的方法

 更新時間:2015年07月27日 10:44:30   作者:肖大飛  
這篇文章主要介紹了javascript通過獲取html標(biāo)簽屬性class實現(xiàn)多選項卡的方法,涉及javascript針對頁面元素屬性與事件的相關(guān)操作技巧,需要的朋友可以參考下

本文實例講述了javascript通過獲取html標(biāo)簽屬性class實現(xiàn)多選項卡的方法。分享給大家供大家參考。具體實現(xiàn)方法如下:

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8" />
    <title>原生javascript通過獲取html標(biāo)簽屬性class實現(xiàn)多選項卡</title>
    <style type="text/css">
      .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;
      }
    </style>
    <script type="text/javascript">      
      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);
      }
    </script>
  </head>
  <body>
    <div class="tab">
      <ul class="tab-menu">
        <li class="active"><a href="">111</a></li>
        <li><a href="">122</a></li>
        <li><a href="">133</a></li>
      </ul>
      <div class="tab-panel">
        111
      </div>
      <div class="tab-panel tab-none">
        122
      </div>
      <div class="tab-panel tab-none">
        133
      </div>
    </div>
    <div class="tab">
      <ul class="tab-menu">
        <li class="active"><a href="">211</a></li>
        <li><a href="">222</a></li>
        <li><a href="">233</a></li>
      </ul>
      <div class="tab-panel">
        211
      </div>
      <div class="tab-panel tab-none">
        222
      </div>
      <div class="tab-panel tab-none">
        233
      </div>
    </div>
    <div class="tab">
      <ul class="tab-menu">
        <li class="active"><a href="">311</a></li>
        <li><a href="">322</a></li>
        <li><a href="">333</a></li>
      </ul>
      <div class="tab-panel">
        311
      </div>
      <div class="tab-panel tab-none">
        322
      </div>
      <div class="tab-panel tab-none">
        333
      </div>
    </div>
  </body>
</html>

希望本文所述對大家的javascript程序設(shè)計有所幫助。

相關(guān)文章

  • JS判斷數(shù)組里是否有重復(fù)元素的方法小結(jié)

    JS判斷數(shù)組里是否有重復(fù)元素的方法小結(jié)

    這篇文章主要介紹了JS判斷數(shù)組里是否有重復(fù)元素的方法,結(jié)合實例形式分析了javascript針對數(shù)組重復(fù)元素判斷相關(guān)的遍歷、排序、遞歸等相關(guān)操作技巧,需要的朋友可以參考下
    2019-05-05
  • js實現(xiàn)幻燈片效果(基于jquery插件)

    js實現(xiàn)幻燈片效果(基于jquery插件)

    說起幻燈片效果,想必大家都不陌生吧,接下來為大家介紹下使用jquery插件jquery.smallslider.js實現(xiàn)幻燈片效果示例代碼,喜歡的朋友可以學(xué)習(xí)下
    2013-11-11
  • JS實現(xiàn)的視頻彈幕效果示例

    JS實現(xiàn)的視頻彈幕效果示例

    這篇文章主要介紹了JS實現(xiàn)的視頻彈幕效果,涉及javascript基于事件響應(yīng)的頁面元素屬性動態(tài)操作相關(guān)實現(xiàn)技巧,需要的朋友可以參考下
    2018-08-08
  • JS中var let聲明范圍區(qū)別詳解

    JS中var let聲明范圍區(qū)別詳解

    這篇文章主要為大家介紹了JS中var let聲明范圍區(qū)別示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-07-07
  • javascript獲取元素文本內(nèi)容的通用函數(shù)

    javascript獲取元素文本內(nèi)容的通用函數(shù)

    獲取元素文本內(nèi)容的通用函數(shù),思路很好值得參考。
    2009-12-12
  • Redux中進(jìn)行異步操作(網(wǎng)絡(luò)請求)的示例方案

    Redux中進(jìn)行異步操作(網(wǎng)絡(luò)請求)的示例方案

    這篇文章主要介紹了Redux中進(jìn)行異步操作(網(wǎng)絡(luò)請求)的方案,本文結(jié)合示例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-12-12
  • bootstrap treeview 樹形菜單帶復(fù)選框及級聯(lián)選擇功能

    bootstrap treeview 樹形菜單帶復(fù)選框及級聯(lián)選擇功能

    這篇文章主要介紹了bootstrap treeview 樹形菜單帶復(fù)選框及級聯(lián)選擇功能,代碼超簡單,感興趣的朋友跟隨腳本之家小編一起學(xué)習(xí)吧
    2018-06-06
  • JavaScript promise的使用和原理分析

    JavaScript promise的使用和原理分析

    Promise 是一個 ECMAScript 6 提供的類,目的是更加優(yōu)雅地書寫復(fù)雜的異步任務(wù)。由于 Promise 是 ES6 新增加的,所以一些舊的瀏覽器并不支持,蘋果的 Safari 10 和 Windows 的 Edge 14 版本以上瀏覽器才開始支持 ES6 特性
    2023-04-04
  • 解決layui checkbox 提交多個值的問題

    解決layui checkbox 提交多個值的問題

    今天小編就為大家分享一篇解決layui checkbox 提交多個值的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-09-09
  • 淺析BootStrap柵格系統(tǒng)

    淺析BootStrap柵格系統(tǒng)

    這篇文章主要介紹了淺析BootStrap柵格系統(tǒng)的相關(guān)資料,非常不錯具有參考借鑒價值,需要的朋友可以參考下
    2016-06-06

最新評論