JavaScript 側欄選項卡
本章節分享一段程式碼示例,它實現了側欄選項卡的功能。
程式碼例項如下:
[HTML] 純文字檢視 複製程式碼<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <meta name="keywords" content="" /> <style type="text/css"> body{ font-size:12px; } a:link,a:visited,a:hover,a:active{ text-decoration:none; color:#256bae; } .warp{ width:586px; height:269px !important; height:271px; border:1px solid #dbdcd7; } .main{ width:562px; height:269px !important; height:271px; padding:5px; margin-left:15px; overflow:hidden; float:left; line-height:271px; text-align:center; } .news{ position:absolute; z-index:4; width:24px; } .news ul{ list-style:none; padding:0; margin:0; } .news ul li{ height:84px !important; height:88px; width:20px; margin-bottom:0px; padding-top:5px; text-align:center; cursor:pointer; vertical-align:middle; background-color:#e5e5e5; border-right:#dbdcd7 solid 1px; border-bottom:#dbdcd7 solid 1px; } .news ul li.on{ background-color:#ffffff; border:#FFFFFF 0px } .news span{ display:block; margin-top:9px !important; margin-top:20px; } .dis{display:block;} .undis{display:none;} </style> <script type="text/javascript"> function g(o){ return document.getElementById(o); } function HoverLi(m,n,counter){ for(var index=1;index<=counter;index++){ g('tb_'+m+index).className=''; g('tbc_'+m+index).className='undis'; } g('tbc_'+m+n).className='dis'; g('tb_'+m+n).className='on'; } window.onload=function(){ var lis=document.getElementsByTagName("li"); for(var index=0;index<lis.length;index++){ (function(index){ lis[index].onmouseover=function(){ HoverLi(1,index+1,3); } })(index) } } </script> </head> <body> <div class="warp"> <div class="news"> <ul> <li class="on" id="tb_11"><span>企業新聞</span></li> <li class="" id="tb_12"><span>業內諮訊</span></li> <li class="" id="tb_13"><span>業內諮訊</span></li> </ul> </div> <div class="dis" id="tbc_11"> <div class="main">螞蟻部落一</div> </div> <div class="undis" id="tbc_12"> <div class="main">螞蟻部落二</div> </div> <div class="undis" id="tbc_13"> <div class="main">螞蟻部落三</div> </div> </div> </body> </html>
上面的程式碼實現了我們的要求,下面介紹一下它的實現過程。
一.程式碼註釋:
(1).function g(o){
return document.getElementById(o);
}此方法模擬實現了類似於jQuery的id選擇器功能。
(2).function HoverLi(m,n,counter){},此方法實現了選項卡切換功能,前兩個引數是和選項卡內容的id數字相對應的,第二個引數規定有幾個選項卡。
(3).for(var index=1;index<=counter;index++){
g('tb_'+m+index).className='';
g('tbc_'+m+index).className='undis';
},之所以從1開始進行遍歷,是因為索引為0的div是作為選項卡的標題容器的。
然後將標題li元素的class屬性值清空,並且將內容div的class屬性值設定為undis。
(4).g('tbc_'+m+n).className='dis';
g('tb_'+m+n).className='on';
將對應的內容div的class屬性值設定為dis。
將對應的標題li的class屬性值設定為on。
(5).window.onload=function(){},當文件載入完畢再去執行函式中的程式碼。
(6).var lis=document.getElementsByTagName("li"),獲取li元素集合。
(7).for(var index=0;index<lis.length;index++){
(function(index){
lis[index].onmouseover=function(){
HoverLi(1,index+1,3);
}
})(index)
以閉包的方式為li元素批量註冊時間處理函式。
二.相關閱讀:
(1).className參閱JavaScript className一章節。
(2).getElementsByTagName()參閱document.getElementsByTagName()一章節。
(3).onmouseover事件參閱JavaScript mouseover 事件一章節。
(4).閉包參閱JavaScript 閉包一章節。
相關文章
- javascript tab選項卡JavaScript
- JavaScript側欄緩動分享選單詳解JavaScript
- JavaScript tab選項卡效果JavaScript
- JavaScript tab選項卡功能JavaScript
- JavaScript實現選項卡效果JavaScript
- JavaScript點選設定背景顏色的選項卡程式碼JavaScript
- HTML歷理 ICbA的側欄選單HTML
- TornadoFx實現側邊欄選單效果
- jquery選項卡jQuery
- JavaScript滑鼠懸浮展開側欄導航JavaScript
- JavaScript左右滑動切換的選項卡詳解JavaScript
- 小程式 — 選項卡
- 選項卡(物件導向)物件
- EasyUi之Tabs(選項卡)UI
- Flutter 側滑欄及城市選擇UI的實現FlutterUI
- vue 動態載入路由,渲染左側選單欄Vue路由
- 採用JavaScript+XML實現具有樹形選單功能的論壇側邊導航欄JavaScriptXML
- layui豎版tab選項卡UI
- 前端--js實現選項卡前端JS
- HarmonyOS NEXT 底部選項卡功能
- UGUI_關卡選項介面UGUI
- Flutter drawer側邊欄Flutter
- 純css tab選項卡程式碼例項CSS
- jQuery tab選項卡效果程式碼例項jQuery
- 影片直播原始碼,預設展開側邊欄選單原始碼
- 用原生js進行封裝函式 實現 選項卡巢狀選項卡 功能JS封裝函式巢狀
- 基於swiper的Tab選項卡
- cypress 如何操作新的選項卡
- 如何在 macOS 中使用選項卡?Mac
- 利用jQuery實現Tab選項卡jQuery
- ElementUI側邊欄導航選單隱藏顯示問題UI
- jQuery點選彈出側邊欄提示資訊皮膚特效jQuery特效
- NSToolbar 只保留自定義工具欄選項
- jquery.idTabs.min.js選項卡程式碼例項jQueryJS
- 使用原生js實現選項卡功能例項教程JS
- vue-element-admin左側選單欄隱藏功能去除修改Vue
- jQuery 項卡標題欄閃爍提示新資訊jQuery
- jQuery tab選項卡程式碼詳解jQuery