js和jquery實(shí)現(xiàn)tab狀態(tài)欄切換效果
今天做一個(gè)簡單的小案例,用js和jquery分別去實(shí)現(xiàn)點(diǎn)擊tab欄,實(shí)現(xiàn)切換的目的,效果如下圖:
代碼如下:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>狀態(tài)欄切換</title> <style> * { margin: 0; padding: 0; box-sizing: border-box; } .main { width: 720px; display: block; margin: 50px auto; } .table-title { width: 100%; height: 100%; border: 1px solid black; } .table-title ul { list-style: none; display: flex; } .table-title li { width: 25%; height: 100%; background-color: gainsboro; text-align: center; border-right: 1px solid black; cursor: pointer; } .table-title li:last-child { border-right: none; } .table-title li label { text-align: center; cursor: pointer; } .tab-box .tab-show { display: none; border: 1px solid black; border-top: none; text-align: center; } /* 讓第一個(gè)框顯示出來 */ .tab-box .tab-show:first-Child { display: block; } .change { opacity: 0.7; } </style> <script src="js/jquery-3.5.1.js"></script> <script> // js實(shí)現(xiàn) window.onload = function() { //獲取元素 var allLi = document.getElementsByTagName("li"); var boxs = document.getElementsByClassName("tab-box")[0].children; //遍歷進(jìn)行切換效果的實(shí)現(xiàn) for (var i = 0; i < allLi.length; i++) { //給每個(gè)li定義一個(gè)屬性索引值 allLi[i].index = i; //添加點(diǎn)擊事件 allLi[i].onclick = function() { //獲取索引值 var index = this.index; //展示內(nèi)容 boxs[index].style.display="block"; allLi[index].style.opacity=0.7; for (var j = 0; j < allLi.length; j++) { //將兄弟元素的樣式改回 if(j != index){ boxs[j].style.display="none"; allLi[j].style.opacity=1; } } } } } // jquery實(shí)現(xiàn) $().ready(function() { $(".table-title li").click(function() { //通過 .index()方法獲取元素下標(biāo),從0開始,賦值給某個(gè)變量 var _index = $(this).index(); //讓內(nèi)容框的第 _index 個(gè)顯示出來,其他的被隱藏 $(".tab-box>div").eq(_index).show().siblings().hide(); //改變選中時(shí)候的選項(xiàng)框的樣式,移除其他幾個(gè)選項(xiàng)的樣式 $(this).addClass("change").siblings().removeClass("change"); }); }); </script> </head> <body> <div class="main"> <div class="table-title"> <ul> <li><label>手機(jī)數(shù)碼</label></li> <li><label>電腦辦公</label></li> <li><label>生活用品</label></li> <li><label>居家必備</label></li> </ul> </div> <div class="tab-box" style="width: 100%;height: calc(100%-40px);"> <div class="tab-show"> 手機(jī)數(shù)碼 </div> <div class="tab-show"> 電腦辦公 </div> <div class="tab-show"> 生活用品 </div> <div class="tab-show"> 居家必備 </div> </div> </div> </body> </html>
如果大家還想深入學(xué)習(xí),可以點(diǎn)擊兩個(gè)精彩的專題:javascript選項(xiàng)卡操作方法匯總 jquery選項(xiàng)卡操作方法匯總
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- javascript實(shí)現(xiàn)tab切換的四種方法
- 一個(gè)精簡的JS DIV層tab切換代碼
- js(JavaScript)實(shí)現(xiàn)TAB標(biāo)簽切換效果的簡單實(shí)例
- javascript實(shí)現(xiàn)tabs選項(xiàng)卡切換效果(自寫原生js)
- Vue.js組件tabs實(shí)現(xiàn)選項(xiàng)卡切換效果
- 原生js實(shí)現(xiàn)tab選項(xiàng)卡切換
- 使用jquery實(shí)現(xiàn)div的tab切換實(shí)例代碼
- jQuery版Tab標(biāo)簽切換
- jQuery簡單tab切換效果實(shí)現(xiàn)方法
- jQuery實(shí)現(xiàn)的Tab滑動(dòng)選項(xiàng)卡及圖片切換(多種效果)小結(jié)
相關(guān)文章
JavaScript手寫一個(gè)前端存儲(chǔ)工具庫
在項(xiàng)目開發(fā)的過程中,為了減少提高性能,減少請(qǐng)求,開發(fā)者往往需要將一些不易改變的數(shù)據(jù)放入本地緩存中。本文就來用JavaScript手寫一個(gè)前端存儲(chǔ)工具庫,希望對(duì)大家有所幫助2023-02-02JS中2種定時(shí)器的使用及清除的實(shí)現(xiàn)
本文主要介紹了JS中2種定時(shí)器的使用及清除的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-08-08js操作二級(jí)聯(lián)動(dòng)實(shí)現(xiàn)代碼
網(wǎng)上二級(jí)(多級(jí))聯(lián)動(dòng)的例子也不少,有各種不同的操作方法。我所采用的方法網(wǎng)上也應(yīng)該有的,不過我還沒有看到過。2010-07-07僅一個(gè)form表單 js實(shí)現(xiàn)注冊信息依次填寫提交功能
這篇文章主要為大家詳細(xì)介紹了僅一個(gè)form表單,JavaScript可實(shí)現(xiàn)注冊信息依次填寫提交功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-06-06js 利用className得到對(duì)象的實(shí)現(xiàn)代碼
利用className得到對(duì)象的實(shí)現(xiàn)代碼,大家可以看下代碼的實(shí)現(xiàn)原理。2011-11-11JavaScript中json對(duì)象和string對(duì)象之間相互轉(zhuǎn)化
json對(duì)象和string對(duì)象之間的轉(zhuǎn)化已經(jīng)成為了大家耳熟能詳?shù)脑掝},本人今天就多啰嗦一些他們之間的故事,如有不對(duì)之處,還請(qǐng)各位海涵呢?不多說了直切主題2012-12-12JavaScript Dom 綁定事件操作實(shí)例詳解
這篇文章主要介紹了JavaScript Dom 綁定事件操作,結(jié)合實(shí)例形式詳細(xì)分析了JavaScript實(shí)現(xiàn)dom綁定事件的相關(guān)實(shí)現(xiàn)方法與操作注意事項(xiàng),需要的朋友可以參考下2019-10-10