物件導向實現的tab選項卡效果程式碼例項
分享一段程式碼例項,它實現了tab選項卡效果。
並且採用物件導向的方式實現tab選項卡,程式碼例項如下:
[HTML] 純文字檢視 複製程式碼<!doctype html> <html> <head> <meta charset="utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <style> * { padding: 0; margin: 0; list-style: none; } .tabMenu { width: 300px; margin: 50px auto 0 auto; } .tabMenu ul { display: block; overflow: hidden; width: 300px; height: 40px; background: #eee; } .tabMenu ul li { cursor: pointer; display: block; float: left; width: 100px; text-align: center; height: 40px; line-height: 40px; font-size: 16px; } .tabMenu ul li.active { background: #f00; color: #fff; } .tabMenu .tabSide { display: none; padding: 10px; line-height: 20px; white-space: pre-wrap; word-break: break-all; width: 278px; border: solid 1px #eee; } .tabMenu div.active { display: block; padding: 10px; line-height: 20px; white-space: pre-wrap; word-break: break-all; width: 278px; border: solid 1px #eee; } </style> <script> window.onload = function () { var main = document.getElementById("tabMain"); var tab = new Tab(main); tab.init(); } function Tab(id) { this.aLi = id.getElementsByTagName("li"); this.oDiv = id.getElementsByTagName("div"); } Tab.prototype.init = function () { var obj = this; for (var index = 0; index < obj.aLi.length; index++) { obj.aLi[index].index = index; obj.aLi[index].onclick = function () { obj.fnClick(this); } } } Tab.prototype.fnClick = function (aLi) { for (var index = 0; index < this.aLi.length; index++) { this.aLi[index].className = ""; this.oDiv[index].style.display = "none"; } aLi.className = "active"; this.oDiv[aLi.index].style.display = "block"; }; </script> </head> <body> <div id="tabMain" class="tabMenu"> <ul> <li class="active">螞蟻部落一</li> <li>螞蟻部落二</li> <li>螞蟻部落三</li> </ul> <div class="tabSide active">css教程</div> <div class="tabSide">div教程</div> <div class="tabSide">js教程</div> </div> </body> </html>
上面的程式碼實現了我們的要求,下面介紹一下它的實現過程。
一.程式碼註釋:
(1).window.onload = function () {},當文件內容完全載入完畢再去執行函式中的程式碼。
(2).var main = document.getElementById("tabMain"),獲取選項卡的容器元素。
(3).var tab = new Tab(main),建立一個物件例項,建構函式的引數就是選項卡容器元素。
(4).tab.init(),進行一些初始化操作。
(5).function Tab(id) {
this.aLi = id.getElementsByTagName("li");
this.oDiv = id.getElementsByTagName("div");
},建構函式,引數是一個元素物件。
(6).Tab.prototype.init = function () {},為原型物件新增一個init方法,它可以實現一些初始化操作。
(7).var obj = this,將this暫存於變數obj,因為在不同的上下文長this指向的物件可能會不同,防止衝突。
(8).for (var index = 0; index < obj.aLi.length; index++) {},通過for迴圈批量註冊事件處理函式。
(9).obj.aLi[index].index = index,為當前元素物件自定義一個index屬性,並賦值為當前索引值。
(10).obj.aLi[index].onclick = function () {
obj.fnClick(this);
},註冊onclick事件處理函式。
(11).Tab.prototype.fnClick = function (aLi) {},實現了選項卡切換效果,引數是當前點選的li元素物件。
(12).for (var index = 0; index < this.aLi.length; index++) {
this.aLi[index].className = "";
this.oDiv[index].style.display = "none";
},通過for迴圈先將所有選項卡的class屬性值清空,並將選項卡內容部分隱藏。
(13).aLi.className = "active";this.oDiv[aLi.index].style.display = "block",然後將當前點選的選項卡的class屬性值設定為active,對應索引的選項卡內容設定為顯示。
二.相關閱讀:
(1).getElementsByTagName()可以參閱document.getElementsByTagName()一章節。
(2).prototype可以參閱javascript prototype原型一章節。
(3).className可以參閱js className一章節。
相關文章
- jQuery tab選項卡效果程式碼例項jQuery
- jQuery實現的tab選項卡程式碼例項jQuery
- 純css實現的tab選項卡程式碼例項CSS
- css3實現tab選項卡程式碼例項CSSS3
- jquery實現的選項卡效果例項程式碼jQuery
- js實現的垂直選項卡效果程式碼例項JS
- 純css tab選項卡程式碼例項CSS
- 原生js tab選項卡程式碼例項JS
- tab選項卡切換例項程式碼
- 純css實現tab選項卡效果CSS
- jQuery如何實現tab選項卡效果jQuery
- 選項卡(物件導向)物件
- JavaScript tab選項卡效果JavaScript
- JavaScript多級選項卡效果程式碼例項JavaScript
- 微信小程式的tab選項卡的實現微信小程式
- 原生js使用物件導向的方法開發選項卡例項教程JS物件
- js物件導向封裝拖動效果程式碼例項JS物件封裝
- js左右滑動選項卡效果程式碼例項JS
- js實現的可以通用的選項卡程式碼例項JS
- jQuery實現的選項卡的巢狀程式碼例項jQuery巢狀
- 利用jQuery實現Tab選項卡jQuery
- javascript tab選項卡效果詳解JavaScript
- jquery.idTabs實現的選項卡程式碼例項jQuery
- jQuery選項卡切換圖片效果程式碼例項jQuery
- jQuery選項卡例項程式碼jQuery
- javascript物件導向相關程式碼例項JavaScript物件
- css3實現的打折卡效果程式碼例項CSSS3
- jQuery tab選項卡程式碼詳解jQuery
- Python物件導向多型實現原理及程式碼例項Python物件多型
- 滑鼠虛滑過選項卡切換效果程式碼例項
- JavaScript實現選項卡效果JavaScript
- 純CSS實現的二級導航選單效果程式碼例項CSS
- javascript tab選項卡JavaScript
- css3實現的立體導航選單效果程式碼例項CSSS3
- 點選實現顯示密碼效果程式碼例項密碼
- 選項卡方式實現的多角色登陸表單程式碼例項
- js選項卡簡單程式碼例項JS
- Android Tab 選項卡的簡單實現薦Android