JavaScript實現(xiàn)多層顏色選項卡嵌套
更新時間:2020年09月21日 17:12:39 作者:八弟吖
這篇文章主要為大家詳細介紹了JavaScript實現(xiàn)多層顏色選項卡嵌套,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
本文實例為大家分享了JavaScript實現(xiàn)多層顏色選項卡嵌套的具體代碼,供大家參考,具體內(nèi)容如下
這是學JavaScript時候的一個作業(yè),如果沒有思路還是挺有難度的,但是思路正確的話一步一步來就很簡單做出來了。
實現(xiàn)效果
HTML部分代碼
<div class="box" id="box"> <ul id="leftBox"> <li class="active">a</li> <li>b</li> <li>c</li> <li>d</li> </ul> <div id="rightBox"> <div id="rightBox1" class="active"> <a href="#" >a1</a> <ul class="tabUl"> <li class="hover">a1</li> <li>a2</li> <li>a3</li> <li>a4</li> </ul> </div> <div id="rightBox2"> <a href="#" >b1</a> <ul class="tabUl"> <li class="hover">b1</li> <li>b2</li> <li>b3</li> <li>b4</li> </ul> </div> <div id="rightBox3"> <a href="#" >c1</a> <ul class="tabUl"> <li class="hover">c1</li> <li>c2</li> <li>c3</li> <li>c4</li> <li>c5</li> <li>c6</li> </ul> </div> <div id="rightBox4"> <a href="#" >d1</a> <ul class="tabUl"> <li class="hover">d1</li> <li>d2</li> <li>d3</li> <li>d4</li> </ul> </div> </div> </div>
css部分代碼
<style> * { margin: 0px; padding: 0px; list-style: none; text-decoration: none; } .box { width: 800px; border: 1px solid #000000; margin: 20px auto; background: blue; } .box:after { content: ""; display: block; clear: both; } #leftBox { float: left } #rightBox { float: left; } #leftBox li { width: 200px; height: 89px; background: red; margin-bottom: 2px; color: #fff; font: 50px/89px "黑體"; text-align: center; } #rightBox div { display: none; } #rightBox .active { display: block; } #rightBox a { display: block; width: 600px; height: 325px; background: #0F0; font-size: 100px; color: #000; text-align: center; text-decoration: none; line-height: 360px; } .tabUl { display: table; width: 100%; } .tabUl li { display: table-cell; background: #909; color: #fff; font-size: 20px; text-align: center; height: 40px; line-height: 40px; border-right: 2px solid #03C; cursor: pointer; } .tabUl li.hover { background: #fff; color: #000; } #leftBox .active { background: yellow; color: #000; } </style>
JavaScript實現(xiàn)代碼
思路:鼠標移入左邊的每個li后,都會改變他的顏色,所以只需要改變class名,同時右邊也會顯示對于的div,有對應(yīng)的話一般都會用到自定義索引值和this…
<script> /* 點擊左邊的li后,所點擊li加上class名,其它清除所有,然后右邊對應(yīng)索引值的div也加上class=active,所以要用到this */ //獲取元素 var lUl = document.getElementById('leftBox') var rUl = document.getElementById('rightBox') var lLi = lUl.getElementsByTagName('li') var oDiv = rUl.getElementsByTagName('div') //改變左邊樣式 for (var i = 0; i < lLi.length; i++) { //自定義索引 lLi[i].index = i lLi[i].onmouseenter = function () { //清空所有classname for (var j = 0; j < lLi.length; j++) { lLi[j].className = '' oDiv[j].className = '' } //給相應(yīng)的li添加上classname this.className = 'active' oDiv[this.index].className = 'active' } } //右邊 for (var k = 0; k < oDiv.length; k++) { fn(oDiv[k]) } function fn(parent) { //獲取用到的元素 var rLi = parent.getElementsByTagName('li') var oa = parent.getElementsByTagName('a')[0] for (var i = 0; i < rLi.length; i++) { rLi[i].onmouseenter = function(){ for (j = 0; j < lLi.length; j++) { rLi[j].className = '' } this.className = 'hover' //把li標簽中的文字傳到a標簽中 oa.innerHTML = this.innerHTML } } } </script>
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
微信小程序?qū)崿F(xiàn)的點擊按鈕 彈出底部上拉菜單功能示例
這篇文章主要介紹了微信小程序?qū)崿F(xiàn)的點擊按鈕 彈出底部上拉菜單功能,結(jié)合實例形式分析了action-sheet組件及事件響應(yīng)簡單使用技巧,需要的朋友可以參考下2018-12-12