最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

tab欄切換原理

 更新時間:2017年03月22日 10:52:09   作者:wmaqingbo  
本文主要介紹了tab欄切換的原理以及實現(xiàn)方法代碼。具有很好的參考價值。下面跟著小編一起來看下吧

本文是我學(xué)習(xí)tab欄切換時的筆記,步驟很詳細。比較適用于JavaScript初學(xué)者

1.基礎(chǔ) - 排他思想

如圖,點擊任意一個按鈕,當(dāng)前按鈕應(yīng)該顯示橘色,其他顯示默認顏色灰色。

代碼運行步驟:

利用for循環(huán)遍歷5個按鈕;

選中的按鈕進行 onclick 事件時,首先刪除所有按鈕的類名,使其全部顯示灰色(34行);

然后給當(dāng)前點擊的按鈕添加指定類名,使其顯示橘色(37行)。

示例代碼:

<!DOCTYPE html>
<html>
 <head>
 <meta charset="utf-8">
 <title>tab欄切換效果</title>
 <style media="screen">
  *{
  margin: 0;
  padding: 0;
  border: 0 none;
  outline: none;
  }
  #btns{
  width: 300px;
  margin: 100px auto;
  }
  #btns button {
  width: 60px;
  height: 30px;
  float: left;
  border-right: 1px solid #ccc;
  }
  .color{
  background-color: #eb923f;
  }
 </style>
 <script type="text/javascript">
  window.onload = function () {
  var btns = document.getElementById("btns").getElementsByTagName("button");
  for (var i = 0; i < btns.length; i++) {
   btns[i].onclick = function () {
   for (var j = 0; j < btns.length; j++) {
    //把所有的button清空類名
    btns[j].className = "";
   }
   //點擊的那個盒子添加指定類名
   this.className = "color";
   }
  }
  }
 </script>
 </head>
 <body>
 <div id="btns">
  <button class="color">按鈕1</button>
  <button>按鈕2</button>
  <button>按鈕3</button>
  <button>按鈕4</button>
  <button>按鈕5</button>
 </div>
 </body>
</html>

2.tab欄切換

如圖:在排他思想的基礎(chǔ)上,五個按鈕底下添加五個新盒子,并用一個大盒子將按鈕和底下的盒子包裹。

底下的盒子全部隱藏,默認只顯示第一個。

新增步驟:

為btns[i]添加自定義屬性index,用來關(guān)聯(lián)下面的大盒子(42行);

點擊按鈕后先讓底下的盒子全部隱藏(54行);

然后給當(dāng)前所點擊按鈕相關(guān)聯(lián)的盒子添加指定屬性(57行)。

示例代碼:

<!DOCTYPE html>
<html>
 <head>
 <meta charset="utf-8">
 <title>tab欄切換效果</title>
 <style media="screen">
  *{
  margin: 0;
  padding: 0;
  border: 0 none;
  outline: none;
  }
  .baohan{
  width: 300px;
  margin: 100px auto;
  border: 1px solid #ccc;
  }
  #btns button {
  width: 60px;
  height: 30px;
  float: left;
  border-right: 1px solid #ccc;
  }
  #divs div {
  width: 300px;
  height: 100px;
  font-size: 60px;
  padding-top: 60px;
  background-color: #eb923f;
  text-align: center;
  display: none;
  }
  .color{
  background-color: #eb923f;
  }
 </style>
 <script type="text/javascript">
  window.onload = function () {
  var btns = document.getElementById("btns").getElementsByTagName("button");
  var divs = document.getElementById("divs").getElementsByTagName("div");
  for (var i = 0; i < btns.length; i++) {
   btns[i].index = i; //自定義屬性,用于關(guān)聯(lián)下面的大盒子
   btns[i].onclick = function () {

   for (var j = 0; j < btns.length; j++) {
    //把所有的button清空類名
    btns[j].className = "";
   }
   //點擊的那個盒子添加指定類名
   this.className = "color";
   for (var i = 0; i < divs.length; i++) {
    //先讓底下的div全部隱藏
    divs[i].style.display = "none";
   }
   //然后給當(dāng)前所點擊按鈕相關(guān)聯(lián)的盒子添加指定屬性
   divs[this.index].style.display = "block";
   }
  }
  }
 </script>
 </head>
 <body>
 <div class="baohan">
  <div id="btns">
  <button class="color">按鈕1</button>
  <button>按鈕2</button>
  <button>按鈕3</button>
  <button>按鈕4</button>
  <button>按鈕5</button>
  </div>
  <div id="divs">
  <div style="display:block;">1</div>
  <div>2</div>
  <div>3</div>
  <div>4</div>
  <div>5</div>
  </div>
 </div>
 </body>
</html>

以上就是本文的全部內(nèi)容,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,同時也希望多多支持腳本之家!

相關(guān)文章

  • 基于require.js的使用(實例講解)

    基于require.js的使用(實例講解)

    下面小編就為大家?guī)硪黄趓equire.js的使用(實例講解)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-09-09
  • window.location.href和window.open窗口跳轉(zhuǎn)區(qū)別解析

    window.location.href和window.open窗口跳轉(zhuǎn)區(qū)別解析

    這篇文章主要為大家介紹了window.location.href和window.open 跳轉(zhuǎn)區(qū)別解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-07-07
  • js實現(xiàn)圖片放大和拖拽特效代碼分享

    js實現(xiàn)圖片放大和拖拽特效代碼分享

    這篇文章主要介紹了js實現(xiàn)圖片放大和拖拽特效,除了點擊放大和縮小按鈕來控制圖片的放大縮小,還可以使用鼠標的滾輪控制圖片的縮放,推薦給大家,有需要的小伙伴可以參考下
    2015-09-09
  • JS代碼格式化和語法著色V2

    JS代碼格式化和語法著色V2

    JS代碼格式化和語法著色V2...
    2006-10-10
  • js COL能很好的控制表格的列

    js COL能很好的控制表格的列

    由于沒有用循環(huán),所以,速度要相對快些.但是IE下,明顯示不如FF下好用.
    2008-04-04
  • Bootstrap每天必學(xué)之面板

    Bootstrap每天必學(xué)之面板

    Bootstrap每天必學(xué)之面板,面板(Panels)是Bootstrap框架新增的一個組件,其主要作用就是用來處理一些其他組件無法完成的功能,對面板感興趣的小伙伴們可以參考一下
    2015-11-11
  • JS實現(xiàn)的小火箭發(fā)射動畫效果示例

    JS實現(xiàn)的小火箭發(fā)射動畫效果示例

    這篇文章主要介紹了JS實現(xiàn)的小火箭發(fā)射動畫效果,涉及javascript基于時間函數(shù)的頁面元素屬性動態(tài)變換實現(xiàn)運動效果相關(guān)操作技巧,需要的朋友可以參考下
    2018-12-12
  • JS使用Dijkstra算法求解最短路徑

    JS使用Dijkstra算法求解最短路徑

    這篇文章主要為大家詳細介紹了JS使用Dijkstra算法求解最短路徑,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-01-01
  • 淺談layui里的上傳控件問題

    淺談layui里的上傳控件問題

    今天小編就為大家分享一篇淺談layui里的上傳控件問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-09-09
  • TypeScript安裝與使用的詳細教程

    TypeScript安裝與使用的詳細教程

    TypeScript是JavaScript的超集,擴展了JavaScript的語法,因此現(xiàn)有的JavaScript代碼可與TypeScript一起工作無需任何修改,TypeScript通過類型注解提供編譯時的靜態(tài)類型檢查,下面這篇文章主要給大家介紹了關(guān)于TypeScript安裝與使用的詳細教程,需要的朋友可以參考下
    2023-01-01

最新評論

普宁市| 临沧市| 丘北县| 石景山区| 武清区| 沈丘县| 崇仁县| 项城市| 上栗县| 满洲里市| 永清县| 温泉县| 永胜县| 庄河市| 临桂县| 阜新市| 陆丰市| 阜平县| 安溪县| 黄大仙区| 安仁县| 乌什县| 黎城县| 田林县| 吐鲁番市| 陆丰市| 营山县| 麻栗坡县| 郸城县| 临武县| 贵港市| 兴安盟| 桦甸市| 文登市| 青神县| 嘉黎县| 武定县| 恭城| 定襄县| 庄河市| 栾城县|