JavaScript實(shí)現(xiàn)tab欄切換效果
本文實(shí)例為大家分享了JavaScript實(shí)現(xiàn)tab欄切換效果的具體代碼,供大家參考,具體內(nèi)容如下
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<!-- css樣式 -->
<style>
* {
margin: 0;
padding: 0;
}
.box {
width: 600px;
margin: 100px 500px;
border: 1px solid #999;
}
li {
list-style: none;
}
.tab_top {
width: 600px;
height: 50px;
background-color: #ccc;
}
.tab_top li {
float: left;
width: 50px;
height: 50px;
line-height: 50px;
text-align: center;
padding: 0 20px;
}
.current {
background-color: red;
color: #fff;
}
.tab_con {
width: 600px;
height: 300px;
background-color: #fff;
}
先在css里面設(shè)置下面小div全部隱藏
.item {
display: none
}
</style>
<!-- html結(jié)構(gòu) -->
<body>
<div class="box">
<div class="tab_top">
<ul>
<li class="current">標(biāo)題一</li>
<li>標(biāo)題二</li>
<li>標(biāo)題三</li>
<li>標(biāo)題四</li>
<li>標(biāo)題五</li>
</ul>
</div>
<div class="tab_con">
<div class="item" style="display: block;"> --->此處默認(rèn)第一個(gè)顯示
我是內(nèi)容一<br>
我是內(nèi)容一<br>
我是內(nèi)容一<br>
我是內(nèi)容一<br>
我是內(nèi)容一<br>
</div>
<div class="item">
我是內(nèi)容二<br>
我是內(nèi)容二<br>
我是內(nèi)容二<br>
我是內(nèi)容二<br>
我是內(nèi)容二<br>
</div>
<div class="item">
我是內(nèi)容三<br>
我是內(nèi)容三<br>
我是內(nèi)容三<br>
我是內(nèi)容三<br>
我是內(nèi)容三<br>
</div>
<div class="item">
我是內(nèi)容四<br>
我是內(nèi)容四<br>
我是內(nèi)容四<br>
我是內(nèi)容四<br>
我是內(nèi)容四<br>
</div>
<div class="item">
我是內(nèi)容五<br>
我是內(nèi)容五<br>
我是內(nèi)容五<br>
我是內(nèi)容五<br>
我是內(nèi)容五<br>
我是內(nèi)容五<br>
</div>
</div>
</div>
</body>
js:
<script>
//1 上的選項(xiàng)卡 點(diǎn)擊某一個(gè) 當(dāng)前這一個(gè)底色是紅色 其余不變 (排他思想) 修改類(lèi)名的方法
//獲取元素
//01 獲取上半部分盒子
var tab_top = document.querySelector('.tab_top');
//02 獲取上班部分 所有小li 得到一個(gè)數(shù)組
var lis = tab_top.querySelectorAll('li');
//03 獲取下半部分 所有小div盒子 得到一個(gè)數(shù)組
var item = document.querySelectorAll('.item')
//for 循環(huán)所有小li 綁定點(diǎn)擊事件
for (var i = 0; i < lis.length; i++) {
//開(kāi)始給上面li設(shè)置索引號(hào) 屬性index 值 i
lis[i].setAttribute('index', i);
// 注冊(cè)點(diǎn)擊事件
lis[i].onclick = function () {
// 來(lái)個(gè)排他思想
for (var j = 0; j < lis.length; j++) {
//先讓所有的li 點(diǎn)擊沒(méi)有樣式
lis[j].className = '';
}
// 誰(shuí)點(diǎn)擊 誰(shuí)加樣式
this.className = 'current'
//2 下面顯示內(nèi)容模塊也要寫(xiě)在onclick里面 因?yàn)橐灰粚?duì)應(yīng)
// 給上面top 所有l(wèi)i 添加index 索引號(hào) 屬性從0開(kāi)始 自定義屬性
// 上面已經(jīng)設(shè)置好 現(xiàn)在拿來(lái)用
var index = this.getAttribute('index');
// 點(diǎn)擊上面li 對(duì)應(yīng)下面div顯示出來(lái)
//再來(lái)排他思想 先干掉其他人 讓隱藏 點(diǎn)誰(shuí) 誰(shuí)顯示
for (var k = 0; k < item.length; k++) {
//所有的小div 隱藏
item[k].style.display = 'none'
}
//點(diǎn)擊哪個(gè)小li 小li的index對(duì)應(yīng)的div 顯示
item[index].style.display = 'block';
}
}
</script>
效果圖:

如果大家還想深入學(xué)習(xí),可以點(diǎn)擊兩個(gè)精彩的專(zhuān)題:javascript選項(xiàng)卡操作方法匯總 jquery選項(xiàng)卡操作方法匯總
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
javascript中的__defineGetter__和__defineSetter__介紹
這篇文章主要介紹了javascript中的__defineGetter__和__defineSetter__介紹,類(lèi)似面向?qū)ο笳Z(yǔ)言中的get和set關(guān)鍵字,需要的朋友可以參考下2014-08-08
JS自定義對(duì)象創(chuàng)建與簡(jiǎn)單使用方法示例
這篇文章主要介紹了JS自定義對(duì)象創(chuàng)建與簡(jiǎn)單使用方法,結(jié)合實(shí)例形式分析了JavaScript創(chuàng)建與使用自定義對(duì)象的相關(guān)操作技巧,需要的朋友可以參考下2020-01-01
javascript 頁(yè)面跳轉(zhuǎn)方法集合
js 中實(shí)現(xiàn)頁(yè)面跳轉(zhuǎn)的方法(window.location和window.open的區(qū)別)2009-03-03
js實(shí)現(xiàn)簡(jiǎn)單計(jì)算器
一個(gè)簡(jiǎn)潔的網(wǎng)頁(yè)JS計(jì)算器,附詳細(xì)代碼釋義。通過(guò)下邊的效果演示就可以看到,這是一個(gè)挺小的js網(wǎng)頁(yè)計(jì)算器,界面美化的我想還是不錯(cuò)的,畢竟在沒(méi)有使用任何圖片修飾的情況下,很好看,而且功能挺實(shí)用,可以完成基本的數(shù)學(xué)算數(shù)運(yùn)算。2015-11-11
JS 巧妙獲取剪貼板數(shù)據(jù) Excel數(shù)據(jù)的粘貼
最近需要在瀏覽器端實(shí)現(xiàn)excel數(shù)據(jù)的粘貼,一開(kāi)始去找獲取剪貼板數(shù)據(jù)的方法。但是在瀏覽器端,JS去取是受安全限制的。2009-07-07
javascript dom追加內(nèi)容實(shí)現(xiàn)示例
javascript dom追加內(nèi)容的使用還是比較廣泛的,在本文將為大家介紹下具體的使用方法,感興趣的朋友可以參考下2013-09-09

