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
- jQuery tab選項卡效果程式碼例項jQuery
- JavaScript實現選項卡效果JavaScript
- layui豎版tab選項卡UI
- 基於swiper的Tab選項卡
- 利用jQuery實現Tab選項卡jQuery
- 純css tab選項卡程式碼例項CSS
- jQuery tab選項卡程式碼詳解jQuery
- JavaScript 側欄選項卡JavaScript
- 原生JS 編寫移動端 tab選項卡JS
- CSS3 tab選項卡動態切換CSSS3
- jQuery頂部帶有選項卡的焦點圖效果jQuery
- 使用JS實現一個簡單的選項卡效果JS
- JavaScript點選設定背景顏色的選項卡程式碼JavaScript
- jquery選項卡jQuery
- JavaScript左右滑動切換的選項卡詳解JavaScript
- 小程式 — 選項卡
- jQuery簡單tab效果jQuery
- Vue 框架-06-條件語句 v-if 實現選項卡效果Vue框架
- 選項卡(物件導向)物件
- EasyUi之Tabs(選項卡)UI
- 前端--js實現選項卡前端JS
- HarmonyOS NEXT 底部選項卡功能
- UGUI_關卡選項介面UGUI
- JavaScript slide下拉導航選單效果JavaScriptIDE
- 用原生js進行封裝函式 實現 選項卡巢狀選項卡 功能JS封裝函式巢狀
- cypress 如何操作新的選項卡
- 如何在 macOS 中使用選項卡?Mac
- JavaScript點選按鈕彈出層效果JavaScript
- JavaScript滑鼠懸浮出現下拉選單效果JavaScript
- jquery.idTabs.min.js選項卡程式碼例項jQueryJS
- 使用原生js實現選項卡功能例項教程JS
- CollectionView 單個選項卡的滑動View
- jQuery點選滑出層效果程式碼例項jQuery
- Performance選項卡筆記以及分析vue頁面卡頓ORM筆記Vue
- nvidia顯示卡控制皮膚選項不全 筆記本n卡設定沒有顯示選項筆記
- JavaScript橫向二級導航選單效果JavaScript