JavaScript實(shí)現(xiàn)伸縮二級(jí)菜單
JavaScript實(shí)現(xiàn)伸縮二級(jí)菜單的具體代碼,供大家參考,具體內(nèi)容如下
伸縮二級(jí)菜單:
案例說(shuō)明:效果圖如下,一次只能打開(kāi)一個(gè),打開(kāi)后,+ 號(hào)變 - 。

HTML 代碼
<!--伸拉列表-->
<style>
li {
/*取消li小圓點(diǎn)*/
list-style: none;
}
li span {
/*給 span 標(biāo)簽設(shè)置背景圖片(開(kāi)頭的小加號(hào)小減號(hào),no-repeat不循環(huán),初始位置 0 0)*/
background: url(add.png) no-repeat left center;
padding-left: 20px;
}
/*起始樣式*/
li ul{
height: 0;
/*溢出隱藏*/
overflow: hidden;
/*添加過(guò)渡效果*/
transition: all 0.5s;
}
/*展開(kāi)樣式*/
.open{
background-image: url(minus.png);
}
.open+ul{
height: 70px;
}
</style>
<ul class="tree">
<li><span class="open">考勤管理</span>
<ul>
<li>日??记?lt;/li>
<li>請(qǐng)假申請(qǐng)</li>
<li>加班出差</li>
</ul>
</li>
<li><span>信息中心</span>
<ul>
<li>日??记?lt;/li>
<li>請(qǐng)假申請(qǐng)</li>
<li>加班出差</li>
</ul>
</li>
<li><span>協(xié)同辦公</span>
<ul>
<li>日??记?lt;/li>
<li>請(qǐng)假申請(qǐng)</li>
<li>加班出差</li>
</ul>
</li>
</ul>
<script src="mJS.js"></script>
JavaScript 代碼
// 伸拉列表
// 實(shí)現(xiàn)思路:
var spans = document.querySelectorAll(".tree span");
for (var i = 0; i < spans.length; i++) {
spans[i].onclick = function () {
// console.log(this);
// 查找要修改的元素 span 自己
// 修改,刪除或添加 class -> open
// 判斷自己身上是不是有 open,如果有,刪除!
// this ->指向觸發(fā)事件的元素本身
if (this.className == "open") {
// 如果有,刪除!
this.className = "";
} else {
// 如果沒(méi)有,則添加 ,刪除其他已經(jīng)打開(kāi)的!
//找到打開(kāi)(open屬性的li)
var openSpan = document.querySelector(".tree .open")
if (openSpan !== null) {
// 如果集合不為空,刪除他們的 open 屬性
openSpan.className = "";
}
// 給自己設(shè)置 open 屬性
this.className = "open";
}
}
}

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- JavaScript 下拉菜單實(shí)現(xiàn)代碼
- 通用的二級(jí)菜單代碼(css+javascript)
- 一個(gè)簡(jiǎn)單的js樹(shù)形菜單
- 三級(jí)下拉菜單的js實(shí)現(xiàn)代碼
- 一個(gè)日期下拉菜單的js實(shí)現(xiàn)代碼
- JS實(shí)多級(jí)聯(lián)動(dòng)下拉菜單類(lèi),簡(jiǎn)單實(shí)現(xiàn)省市區(qū)聯(lián)動(dòng)菜單!
- js實(shí)現(xiàn)簡(jiǎn)單折疊、展開(kāi)菜單的方法
- javascript實(shí)現(xiàn)省市區(qū)三級(jí)聯(lián)動(dòng)下拉框菜單
- Js點(diǎn)擊彈出下拉菜單效果實(shí)例
- JavaScript實(shí)現(xiàn)下拉菜單的顯示和隱藏
相關(guān)文章
JS實(shí)現(xiàn)移動(dòng)端整屏滑動(dòng)的實(shí)例代碼
本文通過(guò)實(shí)例代碼給大家分享了基于js 實(shí)現(xiàn)移動(dòng)端整屏滑動(dòng)效果,基本思路是檢測(cè)手指滑動(dòng)方向,獲取手指抬起時(shí)的位置,減去手指按下時(shí)的位置,得正即為向下滑動(dòng)了,具體實(shí)現(xiàn)代碼大家參考下本文2017-11-11
JavaScript 匿名函數(shù)(anonymous function)與閉包(closure)
JavaScript 匿名函數(shù)(anonymous function)與閉包(closure) ,學(xué)習(xí)js的朋友可以參考下。2011-10-10
CodeMirror2 IE7/IE8 下面未知運(yùn)行時(shí)錯(cuò)誤的解決方法
最近用CodeMirror2作后臺(tái)的模板編輯器,在IE9、Firefox下面沒(méi)有問(wèn)題。到了IE7、IE8下面,textarea里面的代碼就顯示不出來(lái)了。搜索了好多,終于找到原因2012-03-03
javascript如何實(shí)現(xiàn)create方法
這篇文章主要介紹了javascript如何實(shí)現(xiàn)create方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-11-11
根據(jù)經(jīng)緯度計(jì)算地球上兩點(diǎn)之間的距離js實(shí)現(xiàn)代碼
最近用到了根據(jù)經(jīng)緯度計(jì)算地球表面兩點(diǎn)間距離的公式,然后就用JS實(shí)現(xiàn)了一下,根據(jù)地球是一個(gè)光滑的球面以及并不是一個(gè)真正的圓球體,而是橢球延伸出兩種方法,感興趣的你可以參考下2013-03-03
js代碼實(shí)現(xiàn)無(wú)縫滾動(dòng)(文字和圖片)
js無(wú)縫滾動(dòng),圖片無(wú)縫滾動(dòng),文字無(wú)縫滾動(dòng),基于js代碼如何實(shí)現(xiàn),本篇文章給大家詳解js代碼實(shí)現(xiàn)無(wú)縫滾動(dòng)(文字和圖片),需要的朋友可以參考下2015-08-08
jQuery實(shí)現(xiàn)隨意改變div任意屬性的名稱和值(部分原生js實(shí)現(xiàn))
用原生js和jQuery實(shí)現(xiàn)隨意改變div屬性和重置,在輸入框輸入“屬性名”及“屬性值”,點(diǎn)擊確定按鈕查看效果,感興趣的你可不要錯(cuò)過(guò)了哈2013-05-05
前端技巧之HTTP中POST提交數(shù)據(jù)四種方式
這篇文章主要為大家介紹了前端技巧之HTTP中POST提交數(shù)據(jù)四種方式詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-06-06

