JavaScript tab選項卡效果
選項卡是非常常見的效果之一,能夠在儘可能少的空間中顯示更多的內容。
下面是一個用JavaScript實現的選項卡程式碼,並且給出詳細的實現過程。
程式碼例項如下:
[HTML] 純文字檢視 複製程式碼執行程式碼<!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <style type="text/css"> *{ list-style:none; margin:0; padding:0; overflow:hidden } #tab{ width:401px; border-top:#A8C29F solid 1px; border-bottom:#A8C29F solid 1px; margin:50px 200px; } .menu{ width:400px; background:#eee; height:28px; border-right:#A8C29F solid 1px; border-bottom:#A8C29F solid 1px; } li{ float:left; width:99px; text-align:center; line-height:28px; height:28px; cursor:pointer; border-left:#A8C29F solid 1px; color:#666; font-size:14px; overflow:hidden } .menudiv{ width:399px; height:300px; border-left:#A8C29F solid 1px; border-right:#A8C29F solid 1px; border-top:0; background:#fefefe } .menudiv div{ padding:15px; line-height:28px; } .off{ background:#E0E2EB; color:#336699; font-weight:bold } </style> <script type="text/javascript"> window.onload=function(){ var otab=document.getElementById("tab"); var lis=otab.getElementsByTagName("li"); var omenudiv=document.getElementById("box"); var divs=omenudiv.children; var lis_len=lis.length; for(var index=0;index<lis_len;index++){ lis[index]._index=index; lis[index].onclick=function(){ for(var j=0;j<lis_len;j++){ lis[j].className=""; divs[j].style.display="none"; } this.className="off"; divs[this._index].style.display="block"; } } } </script> </head> <body> <div id="tab"> <div class="menu"> <ul> <li class="off">標籤1</li> <li>標籤2</li> <li>標籤3</li> <li>標籤4</li> </ul> </div> <div class="menudiv" id="box"> <div> <h4 style="color:red">標籤1-內容</h4> </div> <div style="display:none;"> <h4 style="color:red">標籤2-內容</h4> </div> <div style="display:none;"> <h4 style="color:red">標籤3-內容</h4> </div> <div style="display:none;"> <h4 style="color:red">標籤4-內容</h4> </div> </div> </div> </body> </html>
上面的程式碼實現了選項卡功能,下面介紹一下它的實現過程。
一.程式碼註釋:
(1).window.onload=function(){},文件內容完全載入完畢再去執行函式中的程式碼。
(2).var otab=document.getElementById("tab"),獲取id屬性值為tab的元素物件。
(3).var lis=otab.getElementsByTagName("li"),獲取otab元素下所有的li元素集合。
(4).var omenudiv=document.getElementById("box"),獲取id屬性值為box的元素物件。
(5).var divs=omenudiv.children,獲取omenudiv下的一級子元素集合。
(6).var lis_len=lis.length,獲取li元素的數目。
(7).for(var index=0;index<lis_len;index++),遍歷每一個li元素。
(8).lis[index]._index=index,為當前li元素新增一個自定義屬性_index,並賦值為index。
(9).lis[index].onclick=function(){},為當前li元素註冊onclick事件處理函式。
(10).for(var j=0;j<lis_len;j++){
lis[j].className="";
divs[j].style.display="none";
}
遍歷每一個裡元素,並將li元素的className屬性值設定為空,對應的內容的設定為隱藏狀態。
(11).this.className="off"和divs[this._index].style.display="block",為當前的li元素新增樣式類off,將對應內容顯示。
二.相關閱讀:
(1).document.getElementById方法參閱document.getElementById()一章節。
(2).getElementsByTagName方法參閱JavaScript getElementsByTagName()一章節。
(3).children參閱JavaScript children一章節。
(4).className參閱JavaScript className 屬性一章節。
相關文章
- javascript tab選項卡效果詳解JavaScript
- javascript tab選項卡JavaScript
- JavaScript tab選項卡功能JavaScript
- jQuery tab選項卡效果程式碼例項jQuery
- 純css實現tab選項卡效果CSS
- jQuery如何實現tab選項卡效果jQuery
- JavaScript實現選項卡效果JavaScript
- JavaScript選項卡效果詳解JavaScript
- 物件導向實現的tab選項卡效果程式碼例項物件
- javascript實現tab選項卡過程分解詳解JavaScript
- layui豎版tab選項卡UI
- jquery tab選項卡詳解jQuery
- JavaScript多級選項卡效果程式碼例項JavaScript
- 基於swiper的Tab選項卡
- 利用jQuery實現Tab選項卡jQuery
- 純css tab選項卡程式碼例項CSS
- 原生js tab選項卡程式碼例項JS
- tab選項卡切換例項程式碼
- jQuery tab選項卡程式碼詳解jQuery
- :target偽類製作tab選項卡
- bootstrap原始碼分析之tab(選項卡)boot原始碼
- jQuery實現的tab選項卡程式碼例項jQuery
- 純css實現的tab選項卡程式碼例項CSS
- css3實現tab選項卡程式碼例項CSSS3
- JavaScript 側欄選項卡JavaScript
- 原生JS 編寫移動端 tab選項卡JS
- CSS3 tab選項卡動態切換CSSS3
- 微信小程式的tab選項卡的實現微信小程式
- Android Tab 選項卡的簡單實現薦Android
- js左右滑動選項卡效果程式碼例項JS
- jquery實現的選項卡效果例項程式碼jQuery
- jQuery選項卡切換圖片效果程式碼例項jQuery
- js實現的垂直選項卡效果程式碼例項JS
- JavaScript點選投票效果程式碼例項JavaScript
- 滑鼠虛滑過選項卡切換效果程式碼例項
- javascript選擇項相互移動切換效果JavaScript
- jquery選項卡jQuery
- 使用JS實現一個簡單的選項卡效果JS