js和jquery實(shí)現(xiàn)tab狀態(tài)欄切換效果
今天做一個(gè)簡(jiǎn)單的小案例,用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è)框顯示出來(lái) */
.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() {
//通過(guò) .index()方法獲取元素下標(biāo),從0開(kāi)始,賦值給某個(gè)變量
var _index = $(this).index();
//讓內(nèi)容框的第 _index 個(gè)顯示出來(lái),其他的被隱藏
$(".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)卡操作方法匯總
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- javascript實(shí)現(xiàn)tab切換的四種方法
- 一個(gè)精簡(jiǎn)的JS DIV層tab切換代碼
- js(JavaScript)實(shí)現(xiàn)TAB標(biāo)簽切換效果的簡(jiǎn)單實(shí)例
- javascript實(shí)現(xiàn)tabs選項(xiàng)卡切換效果(自寫(xiě)原生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簡(jiǎn)單tab切換效果實(shí)現(xiàn)方法
- jQuery實(shí)現(xiàn)的Tab滑動(dòng)選項(xiàng)卡及圖片切換(多種效果)小結(jié)
相關(guān)文章
JavaScript回調(diào)函數(shù)callback用法解析
這篇文章主要介紹了JavaScript回調(diào)函數(shù)callback用法解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-01-01
JavaScript隨機(jī)生成信用卡卡號(hào)的方法
這篇文章主要介紹了JavaScript隨機(jī)生成信用卡卡號(hào)的方法,涉及javascript操作隨機(jī)隨機(jī)數(shù)生成信用卡卡號(hào)的技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-04-04
基于iScroll實(shí)現(xiàn)下拉刷新和上滑加載效果
這篇文章主要為大家詳細(xì)介紹了基于iScroll實(shí)現(xiàn)下拉刷新和上滑加載效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-07-07
javascript通過(guò)navigator.userAgent識(shí)別各種瀏覽器
識(shí)別各種瀏覽器的實(shí)現(xiàn)原理是根據(jù)navigator.userAgent返回值識(shí)別,下面有個(gè)不錯(cuò)的示例,感興趣的朋友可以參考下2013-10-10
怎樣用Javascript實(shí)現(xiàn)策略模式
這篇文章主要介紹了JavaScript設(shè)計(jì)模式之策略模式,想學(xué)習(xí)設(shè)計(jì)模式的同學(xué),一定要看一下2021-04-04
Javascript 實(shí)現(xiàn)匿名遞歸的實(shí)例代碼
本篇文章主要介紹了Javascript 實(shí)現(xiàn)匿名遞歸的實(shí)例代碼,利用 arguments.callee 來(lái)實(shí)現(xiàn)匿名遞歸的方式。有興趣的可以了解一下2017-05-05
全面了解構(gòu)造函數(shù)繼承關(guān)鍵apply call
下面小編就為大家?guī)?lái)一篇全面了解構(gòu)造函數(shù)繼承關(guān)鍵apply call。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-07-07

