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

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

編寫(xiě) CSS 文件
新建 CSS 文件,編寫(xiě)CSS 代碼渲染之前編寫(xiě)的 HTML 界面。
記得在 HTML 文件中引入編寫(xiě)的 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;
}

編寫(xiě) JavaScript 腳本文件,實(shí)現(xiàn)切換效果
JavaScript 代碼
// 當(dāng)點(diǎn)某一個(gè)標(biāo)簽的時(shí)候?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";
}
// 讓對(duì)應(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>實(shí)現(xiàn)標(biāo)簽頁(yè)的切換效果</h1>
<ul id="tab">
<li><a href="#content1" >影視</a></li>
<li><a href="#content2" >娛樂(lè)</a></li>
<li><a href="#content3" >電視劇</a></li>
</ul>
<div id="content">
<div id="content1">最新電影推薦:<br>《速度與激情》<br> 《超能陸戰(zhàn)隊(duì)》</div>
<div id="content2">火爆娛樂(lè)推薦:<br>《奔跑吧兄弟》<br> 《中國(guó)好聲音》</div>
<div id="content3">熱門(mén)電視劇推薦:<br>《三生三世》<br> 《我們的少年時(shí)代》</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)點(diǎn)某一個(gè)標(biāo)簽的時(shí)候?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";
}
// 讓對(duì)應(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";
}
}
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
微信小程序中使用wxss加載圖片并實(shí)現(xiàn)動(dòng)畫(huà)效果
記錄微信小程序中使用wxss加載圖片并實(shí)現(xiàn)動(dòng)畫(huà)的方式,最終實(shí)現(xiàn)loading效果。本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2018-08-08
js window.print實(shí)現(xiàn)打印特定控件或內(nèi)容
window.print可以打印網(wǎng)頁(yè),但有時(shí)候我們只希望打印特定控件或內(nèi)容,怎么辦呢?可以把要打印的內(nèi)容放在div中,然后用下面的代碼進(jìn)行打印,希望對(duì)大家有所幫助2013-09-09
Javascript實(shí)現(xiàn)商品秒殺倒計(jì)時(shí)(時(shí)間與服務(wù)器時(shí)間同步)
在一些購(gòu)物商城經(jīng)??吹接泻芏嗌唐纷雒霘⒒顒?dòng),也就是倒計(jì)時(shí),本篇文章給大家介紹Javascript實(shí)現(xiàn)商品秒殺倒計(jì)時(shí)(時(shí)間與服務(wù)器時(shí)間同步),需要的朋友可以了解下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
javascript 四則運(yùn)算精度修正函數(shù)代碼
JS預(yù)算精度問(wèn)題確實(shí)很麻煩,這個(gè)能解決一些問(wèn)題,雖然有bug.2010-05-05
微信小程序列表時(shí)間戳轉(zhuǎn)換實(shí)現(xiàn)過(guò)程解析
這篇文章主要介紹了微信小程序列表時(shí)間戳轉(zhuǎn)換實(shí)現(xiàn)過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-10-10

