基于javascript實(shí)現(xiàn)tab選項(xiàng)卡切換特效調(diào)試筆記
本文實(shí)例為大家分析了javascript實(shí)現(xiàn)tab選項(xiàng)卡切換的調(diào)試筆記,供大家參考,具體內(nèi)容如下
制作導(dǎo)航欄,點(diǎn)擊導(dǎo)航欄元素時(shí)下面的內(nèi)容會(huì)產(chǎn)生相應(yīng)的變化,并且該元素顯示特殊樣式。
js源代碼:
//導(dǎo)航欄單擊變換內(nèi)容
function tabSwitch(_this,num) {
var tag = document.getElementById("nav9");
var number = tag.getElementsByTagName("a"); //獲取導(dǎo)航欄元素個(gè)數(shù)(getElementsByTagName是返回元素素組)
var divNum = document.getElementsByClassName("eachDiv"); //獲取導(dǎo)航元素對(duì)應(yīng)的div個(gè)數(shù)
for(var i=0;i<number.length;i++){ //number是一個(gè)數(shù)組,這里應(yīng)該用number.length顯示它的長度5
number[i].className = " "; //清除所有導(dǎo)航欄元素的特殊樣式
divNum[i].style.display = "none"; //其他所有div都隱藏
}
_this.className = "l_nav1_no1"; //給當(dāng)前導(dǎo)航欄元素添加樣式
var content = document.getElementById("l_no2_"+num); //當(dāng)前導(dǎo)航欄元素對(duì)應(yīng)的div
content.style.display = "block"; //顯示當(dāng)前導(dǎo)航欄元素對(duì)應(yīng)的div部分
}
HTML代碼:
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title></title>
<script type="text/javascript" src="../MyJS/hao123.js"></script>
<style type="text/css">
.l_nav1 {
height: 30px;
padding-top: 8px;
}
.l_nav1 a{
color: #3C3C3C;
text-decoration: none;
padding: 8px;
}
.l_nav1 a:hover,#l_nav1 a:active {
color: green;
text-decoration: underline;
}
.l_nav1 .l_nav1_no1 { /*“頭條”*/
color: green;
text-decoration: none;
border-top: solid 1px green;
}
.l_no2 {
background-color: #ffffff;
border: solid 1px #E0E0E0;
height: 282px;
width: 276px;
overflow: scroll; /*當(dāng)元素內(nèi)容太大而超出規(guī)定區(qū)域時(shí),內(nèi)容會(huì)被修剪,但是瀏覽器會(huì)顯示滾動(dòng)條以便查看其余的內(nèi)容。。*/
}
.l_no2 ul{ /*列表部分*/
padding-left: 0px;
line-height: 25px;
font-size: 14px;;
}
.l_no2 ul li{
list-style: none;
}
.l_no2 ul a{
color: #3C3C3C;
text-decoration: none;
}
.l_no2 ul a:active,.l_no2 ul a:hover {
color: red;
text-decoration: underline;
}
</style>
</head>
<body>
<nav id="nav9" class="l_nav1">
<a href="#" onclick="tabSwitch(this,1)" class="l_nav1_no1">頭條</a>
<a href="#" onclick="tabSwitch(this,2)">社會(huì)</a>
<a href="#" onclick="tabSwitch(this,3)">娛樂</a>
<a href="#" onclick="tabSwitch(this,4)">軍事</a>
<a href="#" onclick="tabSwitch(this,5)">體育</a>
</nav>
<div class="l_no2">
<div id="l_no2_1" class="eachDiv" style="display: block"> <!--默認(rèn)為該div顯示-->
<img src="../images/hao123/25.jpg" width="274px">
<ul>
<li><strong style="color: #6C6C6C">·</strong><a href="#">其通報(bào)批評(píng)</a></li>
<li><strong style="color: #6C6C6C">·</strong><a href="#">檢查現(xiàn)"異形"侵體</a></li>
<li><strong style="color: #6C6C6C">·</strong><a href="#">大媽被女童玩具小車撞到 叫來救護(hù)車</a></li>
<li><strong style="color: #6C6C6C">·</strong><a href="#">六旬老人遇老相識(shí)</a></li>
</ul>
</div>
<div id="l_no2_2" class="eachDiv" style="display: none">
<img src="../images/hao123/25.2.jpg" width="274px">
<ul>
<li><strong style="color: #6C6C6C">·</strong><a href="#">妻子產(chǎn)子收1200枚雞蛋 丈夫1天賣光</a></li>
<li><strong style="color: #6C6C6C">·</strong><a href="#">母豬產(chǎn)子</a></li>
<li><strong style="color: #6C6C6C">·</strong><a href="#"></a></li>
<li>
</ul>
</div>
<div id="l_no2_3" class="eachDiv" style="display: none">
<img src="../images/hao123/25.3.jpg" width="274px">
</div>
<div id="l_no2_4" class="eachDiv" style="display: none">
<img src="../images/hao123/25.4.jpg" width="274px">
</div>
<div id="l_no2_5" class="eachDiv" style="display: none">
<img src="../images/hao123/25.5.jpg" width="274px">
<ul>
<li><strong style="color: #6C6C6C">·</strong><a href="#"></a></li>
<li><strong style="color: #6C6C6C">·</strong><a href="#">遼寧女排隊(duì)員</a></li>
<li><strong style="color: #6C6C6C">·</strong><a href="#">球迷50萬賭國足贏4球以上 血本無歸</a></li>
<li><strong style="color: #6C6C6C">·</strong><a href="#">比較命苦</a></li>
</ul>
</div>
</div>
</body>
</html>
調(diào)試筆記:
1.錯(cuò)誤一:
var number = tag.getElementsByTagName("a").length;
(1)報(bào)錯(cuò):
(2)解釋及改正:
**getElementsByTagName()就是返回元素素組,如果再取它的長度的話,number就只是一個(gè)數(shù)字,所以number[i].className = " ";就會(huì)報(bào)錯(cuò)。**
改正:
var number = tag.getElementsByTagName("a");
2.錯(cuò)誤二:
for(var i=0;i<number;i++){
number[i].className = " "; //清除所有導(dǎo)航欄元素的特殊樣式
divNum[i].style.display = "none"; //其他所有div都隱藏
}這里的number應(yīng)該是一個(gè)數(shù)字,代表a元素的個(gè)數(shù),由錯(cuò)誤一可知,獲取number的長度,即應(yīng)該改為:
for(var i=0;i<number.length;i++){ //number是一個(gè)數(shù)組
number[i].className = " "; //清除所有導(dǎo)航欄元素的特殊樣式
divNum[i].style.display = "none"; //其他所有div都隱藏
}
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助。
- 基于JavaScript實(shí)現(xiàn)Tab選項(xiàng)卡切換效果
- 原生js實(shí)現(xiàn)tab選項(xiàng)卡切換
- 很棒的js Tab選項(xiàng)卡切換效果
- 4種JavaScript實(shí)現(xiàn)簡(jiǎn)單tab選項(xiàng)卡切換的方法
- JavaScript實(shí)現(xiàn)簡(jiǎn)單的tab選項(xiàng)卡切換
- JS基于myFocus庫實(shí)現(xiàn)各種功能的tab選項(xiàng)卡切換效果
- 原生javascript實(shí)現(xiàn)Tab選項(xiàng)卡切換功能
- 分步解析JavaScript實(shí)現(xiàn)tab選項(xiàng)卡自動(dòng)切換功能
- js實(shí)現(xiàn)tab選項(xiàng)卡切換功能
相關(guān)文章
javascript實(shí)現(xiàn)網(wǎng)站加入收藏功能
這篇文章主要介紹了javascript實(shí)現(xiàn)網(wǎng)站加入收藏功能的相關(guān)資料,需要的朋友可以參考下2015-12-12
JavaScript setinterval延遲一秒解決方案
這篇文章主要介紹了JavaScript setinterval延遲一秒解決方案,本篇文章通過簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-09-09
package.json與package-lock.json的區(qū)別及詳細(xì)解釋
不知道大家平時(shí)在開發(fā)中有沒有注意到,你的項(xiàng)目中有兩個(gè)文件:package.json,package-lock.json,應(yīng)該很多人平時(shí)都不會(huì)去關(guān)注這兩個(gè)文件有啥關(guān)系吧,這篇文章主要給大家介紹了關(guān)于package.json與package-lock.json的區(qū)別及詳細(xì)解釋,需要的朋友可以參考下2022-08-08
JavaScript中擴(kuò)展Array contains方法實(shí)例
這篇文章主要介紹了JavaScript中擴(kuò)展Array contains方法實(shí)例,本文直接給出實(shí)現(xiàn)代碼,需要的朋友可以參考下2015-03-03
JavaScript實(shí)現(xiàn)簡(jiǎn)單獲取當(dāng)前網(wǎng)頁網(wǎng)址的方法
這篇文章主要介紹了JavaScript實(shí)現(xiàn)簡(jiǎn)單獲取當(dāng)前網(wǎng)頁網(wǎng)址的方法,通過location對(duì)象的href方法來獲取網(wǎng)址,非常簡(jiǎn)單實(shí)用,需要的朋友可以參考下2015-11-11

