JavaScript實現(xiàn)標(biāo)簽頁切換效果
本文實例為大家分享了JavaScript實現(xiàn)標(biāo)簽頁切換效果的具體代碼,供大家參考,具體內(nèi)容如下
構(gòu)建主體界面

HTML代碼
<h1>實現(xiàn)標(biāo)簽頁的切換效果</h1>
<ul id="tab">
<li><a href="">影視</a></li>
<li><a href="">娛樂</a></li>
<li><a href="">電視劇</a></li>
</ul>
<div id="content">
<div id="content1">最新電影推薦:<br>《速度與激情》<br> 《超能陸戰(zhàn)隊》</div>
<div id="content2">火爆娛樂推薦:<br>《奔跑吧兄弟》<br> 《中國好聲音》</div>
<div id="content3">熱門電視劇推薦:<br>《三生三世》<br> 《我們的少年時代》</div>
</div>

編寫 CSS 文件
新建 CSS 文件,編寫CSS 代碼渲染之前編寫的 HTML 界面。
記得在 HTML 文件中引入編寫的 CSS 文件。
<link rel="stylesheet" href="mCSS.css" >
CSS 文件代碼
*{
margin: 0;
padding: 0;
}
#tab {
overflow: hidden;
}
#tab li {
float: left;
list-style: none;
width: 80px;
height: 40px;
text-align: center;
}
#tab li:first-child, #content1 {
background: #ffcc00;
}
#tab li:first-child + li, #content2 {
background: #ff00cc;
}
#tab li:last-child, #content3 {
background: #00ccff;
}
#tab li a {
line-height: 40px;
color: white;
text-decoration: none;
}
#content {
position: relative;
}
#content1, #content2, #content3 {
width: 300px;
height: 100px;
position: absolute;
top: 0;
left: 0;
padding: 30px;
display: none;
}
#content1{
display: block;
}

編寫 JavaScript 腳本文件,實現(xiàn)切換效果
JavaScript 代碼
// 當(dāng)點某一個標(biāo)簽的時候?qū)?yīng)的 div 顯示,其他的隱藏。
// 查找觸發(fā)事件的元素
var as = document.querySelectorAll("#tab a");
// 綁定事件處理函數(shù)
for (var i = 0; i < as.length; i++) {
as[i].onclick = function () {
// 隱藏所有的 div
var divs = document.querySelectorAll("#content>div");
for (var i = 0; i < divs.length; i++) {
divs[i].style.display = "none";
}
// 讓對應(yīng)的 div顯示
// 獲取當(dāng)前的 a 的 href
var i = this.href.lastIndexOf("#");
var id = this.href.slice(i);
console.log(id)
document.querySelector(id).style.display = "block";
}
}

完整案例代碼
mHTML.html
<link rel="stylesheet" href="mCSS.css" >
<h1>實現(xiàn)標(biāo)簽頁的切換效果</h1>
<ul id="tab">
<li><a href="#content1" >影視</a></li>
<li><a href="#content2" >娛樂</a></li>
<li><a href="#content3" >電視劇</a></li>
</ul>
<div id="content">
<div id="content1">最新電影推薦:<br>《速度與激情》<br> 《超能陸戰(zhàn)隊》</div>
<div id="content2">火爆娛樂推薦:<br>《奔跑吧兄弟》<br> 《中國好聲音》</div>
<div id="content3">熱門電視劇推薦:<br>《三生三世》<br> 《我們的少年時代》</div>
</div>
<script src="mJS.js"></script>
mCSS.css
*{
margin: 0;
padding: 0;
}
#tab {
overflow: hidden;
}
#tab li {
float: left;
list-style: none;
width: 80px;
height: 40px;
text-align: center;
}
#tab li:first-child, #content1 {
background: #ffcc00;
}
#tab li:first-child + li, #content2 {
background: #ff00cc;
}
#tab li:last-child, #content3 {
background: #00ccff;
}
#tab li a {
display: block;
width: 100%;
height: 100%;
line-height: 40px;
color: white;
text-decoration: none;
}
#content {
position: relative;
}
#content1, #content2, #content3 {
width: 300px;
height: 100px;
position: absolute;
top: 0;
left: 0;
padding: 30px;
display: none;
}
#content1{
display: block;
}
mJS.js
// 當(dāng)點某一個標(biāo)簽的時候?qū)?yīng)的 div 顯示,其他的隱藏。
// 查找觸發(fā)事件的元素
var as = document.querySelectorAll("#tab a");
// 綁定事件處理函數(shù)
for (var i = 0; i < as.length; i++) {
as[i].onclick = function () {
// 隱藏所有的 div
var divs = document.querySelectorAll("#content>div");
for (var i = 0; i < divs.length; i++) {
divs[i].style.display = "none";
}
// 讓對應(yīng)的 div顯示
// 獲取當(dāng)前的 a 的 href
var i = this.href.lastIndexOf("#");
var id = this.href.slice(i);
console.log(id)
document.querySelector(id).style.display = "block";
}
}
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
js window.print實現(xiàn)打印特定控件或內(nèi)容
window.print可以打印網(wǎng)頁,但有時候我們只希望打印特定控件或內(nèi)容,怎么辦呢?可以把要打印的內(nèi)容放在div中,然后用下面的代碼進(jìn)行打印,希望對大家有所幫助2013-09-09
Javascript實現(xiàn)商品秒殺倒計時(時間與服務(wù)器時間同步)
在一些購物商城經(jīng)常看到有很多商品做秒殺活動,也就是倒計時,本篇文章給大家介紹Javascript實現(xiàn)商品秒殺倒計時(時間與服務(wù)器時間同步),需要的朋友可以了解下2015-09-09
JS判斷傳入函數(shù)的參數(shù)是否為空(函數(shù)參數(shù)是否傳遞)
這篇文章主要介紹了JS判斷傳入函數(shù)的參數(shù)是否為空(函數(shù)參數(shù)是否傳遞),需要的朋友可以參考下2023-05-05
js中將HTMLCollection/NodeList/偽數(shù)組轉(zhuǎn)換成數(shù)組的代碼
js中將HTMLCollection/NodeList/偽數(shù)組轉(zhuǎn)換成數(shù)組的代碼,需要的朋友可以參考下。2011-07-07
微信小程序列表時間戳轉(zhuǎn)換實現(xiàn)過程解析
這篇文章主要介紹了微信小程序列表時間戳轉(zhuǎn)換實現(xiàn)過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2019-10-10

