js實(shí)現(xiàn)二級菜單點(diǎn)擊顯示當(dāng)前內(nèi)容效果
最近做了一個(gè)二級菜單點(diǎn)擊事件的效果,一級菜單有3個(gè),二級菜單是固定的,而且html布局并不是父子級關(guān)系,具體請看效果圖如下

html結(jié)構(gòu)入下
<div>
<ul>
<li>您好!日期</li>
<li class="li_list checked grounder">滾球</li>
<li class="li_list">今日賽事</li>
<li class="li_list">早盤</li>
<li><img src="../img/live_tv_m.gif" alt=""></li>
<li>更改密碼</li>
<li>密碼恢復(fù)</li>
</ul>
<ul id="allBall">
<li>賬戶歷史</li>
<li>|</li>
<li>交易狀況</li>
<li class="ball foot">足球</li>
<li>|</li>
<li class="ball basketball">籃球/美式足球</li>
<li>|</li>
<li class="ball tentis">網(wǎng)球</li>
<li>|</li>
<li class="ball ">排球</li>
<li>|</li>
<li class="ball badminton">羽毛球</li>
<li>|</li>
<li class="ball ping-pong">乒乓球</li>
<li>|</li>
<li class="ball base">棒球</li>
<li>|</li>
<li class="ball table">斯諾克/臺(tái)球</li>
<li>|</li>
<li class="ball other">其他</li>
</ul>
</div>
<div id="container_main">
<div id="roll" class="A_list">
<div style="display: block">
<iframe src="../roll_ball_index.html" frameborder="0" style="width: 1500px;height: 1000px;" border="0" marginwidth="0" marginheight="0" scrolling="no" allowtransparency="yes"></iframe>
</div>
<div></div> //div內(nèi)寫你所需要展現(xiàn)的內(nèi)容
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
</div>
<div id="today" class="A_list">
<div style="display: block"></div>
<div></div>
<div> </div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
</div>
<div id="earlier" class="A_list">
<div style="display: block"></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
</div>
</div>
css樣式我這里就不一一羅列了,根據(jù)你自己頁面需求自己設(shè)計(jì)
下面是重要內(nèi)容js
function allGame() {
var lis = document.querySelectorAll('.li_list'); //獲取三大玩法按鈕
var A_list = document.getElementsByClassName('A_list');//獲取三大賽事
var ball = document.getElementsByClassName("ball"); //獲取球類賽事
for(var i=0;i<lis.length;i++){ //首先邊框一級菜單
lis[i].index = i; //獲取三大玩法的下標(biāo)
lis[i].onclick = function () { //一級菜單的點(diǎn)擊事件
for( var i=0;i<lis.length;i++){
lis[i].className = '';
A_list[i].style.display="none";
}
this.className='checked';
A_list[this.index].style.display="block"; //for循環(huán)利用排他思想顯示當(dāng)前點(diǎn)擊的選項(xiàng)
var x = this.index; //重點(diǎn):第一次點(diǎn)擊的時(shí)候獲取到的下標(biāo)保存一個(gè)變量x
var a_list = document.getElementsByClassName('A_list')[x]; //利用下標(biāo)獲取A_list[x]
var aa_list = a_list.getElementsByTagName("div");//根據(jù)上一步獲取相應(yīng) 的子級div
for(var j=0;j<ball.length;j++){ //進(jìn)行二級菜單遍歷
ball[j].indexa = j;
ball[j].onclick = function () { //同樣的遍歷 同樣的排他思想
for(var a=0;a<aa_list.length;a++){
aa_list[a].style.display = "none"; //所有的div都隱藏
}
aa_list[this.indexa].style.display="block"; // 當(dāng)前的顯示
}
}
}
}
}
allGame();
這是一個(gè)簡單的案例,小生入行不久,有什么不妥的地方歡迎大家指教。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
JavaScript對象與數(shù)組的幾種常見復(fù)制方法
在 JavaScript 開發(fā)中,對象和數(shù)組的復(fù)制是一個(gè)非常常見的操作,無論是函數(shù)參數(shù)傳遞、狀態(tài)管理,還是避免不必要的副作用,了解和掌握各種復(fù)制方式至關(guān)重要,我們將系統(tǒng)梳理 JavaScript 中的幾種常見復(fù)制方法,并對其應(yīng)用場景進(jìn)行詳細(xì)說明,需要的朋友可以參考下2024-10-10
javascript中new Array()和var arr=[]用法區(qū)別
給大家分析一下在javascript中數(shù)組函數(shù)new Array()和var arr=[]用法區(qū)別,一起跟著學(xué)習(xí)一下吧。2017-12-12
詳解JavaScript中關(guān)于this指向的4種情況
這篇文章主要介紹了JavaScript中關(guān)于this指向的4種情況,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04
layer.open組件獲取彈出層頁面變量、函數(shù)的實(shí)例
今天小編就為大家分享一篇layer.open組件獲取彈出層頁面變量、函數(shù)的實(shí)例,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-09-09
JavaScript中valueOf函數(shù)與toString方法深入理解
基本上,所有JS數(shù)據(jù)類型都擁有valueOf和toString這兩個(gè)方法,null除外。它們倆解決javascript值運(yùn)算與顯示的問題,本文將詳細(xì)介紹,有需要的朋友可以參考下2012-12-12
原生js實(shí)現(xiàn)手風(fēng)琴功能(支持橫縱向調(diào)用)
本文主要介紹了原生js實(shí)現(xiàn)手風(fēng)琴功能(支持橫縱向調(diào)用)的示例代碼。具有一定的參考價(jià)值,下面跟著小編一起來看下吧2017-01-01
js實(shí)現(xiàn)內(nèi)容顯示并使用json傳輸數(shù)據(jù)
這篇文章主要為大家詳細(xì)介紹了js實(shí)現(xiàn)內(nèi)容顯示并使用json傳輸數(shù)據(jù)的方法,感興趣的小伙伴們可以參考一下2016-03-03

