JavaScript選項卡效果詳解
本章節分享一段程式碼例項,它實現了簡單的選項卡功能,下面就詳細介紹一下它的實現原理。
程式碼例項如下:
[HTML] 純文字檢視 複製程式碼執行程式碼<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <style> body,ul,li{ margin:0; padding:0; font:12px/1.5 arial; } ul,li{list-style:none;} .wrap{ width:500px; margin:20px auto; } .hide{display:none;} #tab_t{ height:25px; border-bottom:1px solid #ccc; } #tab_t li{ float:left; width:80px; height:24px; line-height:24px; margin:0 4px; text-align:center; border:1px solid #ccc; border-bottom:none; background:#f5f5f5; cursor:pointer } #tab_t .act{ position:relative; height:25px; margin-bottom:-1px; background:#fff; } #tab_c{ border:1px solid #ccc; border-top:none; padding:20px; } </style> <script> window.onload = function(){ tab("tab_t","li","tab_c","div","onmouseover") function tab(tab_t,tab_t_tag,tab_c,tag_c_tag,evt){ var tab_t = document.getElementById(tab_t); var tab_t_li = tab_t.getElementsByTagName(tab_t_tag); var tab_c = document.getElementById(tab_c); var tab_c_li = tab_c.getElementsByTagName(tag_c_tag); var len = tab_t_li.length; var index=0; for(index=0; index<len; index++){ tab_t_li[index].index = index; tab_t_li[index][evt] = function(){ for(index=0; index<len; index++){ tab_t_li[index].className = ''; tab_c_li[index].className = 'hide'; } tab_t_li[this.index].className = 'act'; tab_c_li[this.index].className = ''; } } } } </script> </head> <body> <div class="wrap"> <ul id="tab_t"> <li class="act">div教程</li> <li>css教程</li> <li>js教程</li> <li>softwy.com</li> </ul> <div id="tab_c"> <div>螞蟻部落一</div> <div class="hide">螞蟻部落二</div> <div class="hide">螞蟻部落三</div> <div class="hide">螞蟻部落四</div> </div> </div> </body> </html>
上面的程式碼實現了我們的要求,下面介紹一下它的實現過程。
一.程式碼註釋:
(1).window.onload = function(){},為文件註冊load事件處理函式,文件內容完全載入完畢觸發事件。
(2).tab("tab_t","li","tab_c","div","onmouseover"),此函式實現了選項卡功能。
(3).function tab(tab_t,tab_t_tag,tab_c,tag_c_tag,evt){},第一個引數規定選項卡的容器id值,第二個引數規定選項卡的元素型別,第三個引數規定內容的容器id,第四個引數規定內容的元素型別,第五個引數規定事件型別。
(4).var tab_t = document.getElementById(tab_t),獲取元素物件。
(5).var tab_t_li = tab_t.getElementsByTagName(tab_t_tag),獲取tab_t下所有指定型別元素集合。
(6).ar len = tab_t_li.length,獲取選項卡的數量。
(7).var index=0,宣告一個變數並賦初值為0,用作用索引。
(8).for(index=0; index<len; index++),遍歷每一個元素。
(9).tab_t_li[index].index = index,為當前元素新增一個index屬性,屬性值設定為當前元素的索引。
(10).tab_t_li[index][evt] = function(){},為當前元素註冊指定型別事件處理函式。
(11).for(index=0; index<len; index++){
tab_t_li[index].className = '';
tab_c_li[index].className = 'hide';
},遍歷每一個元素,並設定相應的class屬性值。
(12).tab_t_li[this.index].className = 'act';
tab_c_li[this.index].className = '';
設定選項卡的樣式和將當前內容顯示出來。
二.相關閱讀:
(1).getElementsByTagName()參閱document.getElementsByTagName()一章節。
(2).className參閱js className一章節。
相關文章
- JavaScript tab選項卡效果JavaScript
- JavaScript實現選項卡效果JavaScript
- JavaScript左右滑動切換的選項卡詳解JavaScript
- javascript tab選項卡JavaScript
- jQuery tab選項卡程式碼詳解jQuery
- JavaScript 側欄選項卡JavaScript
- JavaScript tab選項卡功能JavaScript
- jQuery tab選項卡效果程式碼例項jQuery
- JavaScript 打字機效果詳解JavaScript
- JavaScript 秒錶效果詳解JavaScript
- JavaScript抽獎效果詳解JavaScript
- JavaScript 雪花飄舞效果詳解JavaScript
- JavaScript省市級聯效果詳解JavaScript
- JavaScript彈幕效果程式碼詳解JavaScript
- JavaScript數字分頁效果詳解JavaScript
- jQuery頂部帶有選項卡的焦點圖效果jQuery
- 使用JS實現一個簡單的選項卡效果JS
- JavaScript點選設定背景顏色的選項卡程式碼JavaScript
- JavaScript 動態進度條效果詳解JavaScript
- JavaScript自動更新時間效果詳解JavaScript
- JavaScript焦點圖輪播效果詳解JavaScript
- jquery選項卡jQuery
- JavaScript動態圓形鐘錶效果詳解JavaScript
- 小程式 — 選項卡
- JavaScript二級下拉選單詳解JavaScript
- Vue 框架-06-條件語句 v-if 實現選項卡效果Vue框架
- 選項卡(物件導向)物件
- EasyUi之Tabs(選項卡)UI
- JavaScript點選按鈕返回底部詳解JavaScript
- JavaScript核取方塊全選和全不選詳解JavaScript
- layui豎版tab選項卡UI
- 前端--js實現選項卡前端JS
- HarmonyOS NEXT 底部選項卡功能
- UGUI_關卡選項介面UGUI
- JavaScript側欄緩動分享選單詳解JavaScript
- 純css tab選項卡程式碼例項CSS
- JavaScript slide下拉導航選單效果JavaScriptIDE
- 用原生js進行封裝函式 實現 選項卡巢狀選項卡 功能JS封裝函式巢狀
- 基於swiper的Tab選項卡