色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

javascript二級目錄

潘惠金1年前5瀏覽0評論

JavaScript作為前端開發(fā)的重要語言之一,很多網(wǎng)頁都需要實現(xiàn)一些二級目錄的效果,如帶有下拉菜單的導航欄。本文將介紹如何實現(xiàn)JavaScript的二級目錄功能。

實現(xiàn)JavaScript的二級目錄可以利用HTML中的ul和li標簽來構(gòu)建菜單結(jié)構(gòu),再結(jié)合CSS實現(xiàn)樣式的定制化,最后通過JavaScript實現(xiàn)交互效果。

<ul>
<li><a href="#">一級目錄1</a>
<ul>
<li><a href="#">二級目錄1-1</a></li>
<li><a href="#">二級目錄1-2</a></li>
</ul>
</li>
<li><a href="#">一級目錄2</a>
<ul>
<li><a href="#">二級目錄2-1</a></li>
<li><a href="#">二級目錄2-2</a></li>
</ul>
</li>
</ul>

以上是一個簡單的HTML菜單結(jié)構(gòu),其中一級目錄作為ul標簽下的li標簽,二級目錄則作為ul標簽的子元素嵌套在li標簽內(nèi)。接下來使用CSS設(shè)置樣式。

ul {
list-style: none;
margin: 0;
padding: 0;
}
li {
float: left;
position: relative;
}
li a {
display: block;
padding: 8px 12px;
text-decoration: none;
color: #333;
}
li ul {
display: none;
position: absolute;
top: 100%;
left: 0;
padding: 0;
margin: 0;
z-index: 999;
}
li:hover ul {
display: block;
}

在CSS中,首先將ul和li標簽的默認padding和margin清除,避免出現(xiàn)不必要的間距。然后為li標簽設(shè)置position: relative,使得二級目錄可以相對于一級目錄的位置顯示。li a設(shè)置為block元素,這樣才可以撐開li標簽的大小,同時排除上下文之后使得a標簽可以呈現(xiàn)出完整的背景色。li ul的樣式中利用display: none將二級目錄默認隱藏,然后對一級目錄的:hover狀態(tài)進行樣式切換,在鼠標滑過時設(shè)置li ul為display: block,從而顯示對應(yīng)的二級菜單。

最后是JavaScript的實現(xiàn),將HTML和CSS鏈接在一起,實現(xiàn)二級目錄下拉菜單的交互效果。

var lis = document.querySelectorAll('li');
for (var i = 0; i < lis.length; i++) {
var li = lis[i];
var ul = li.querySelector('ul');
if (ul != null) {
li.addEventListener('mouseenter', function() {
this.classList.add('hover');
});
li.addEventListener('mouseleave', function() {
this.classList.remove('hover');
});
ul.addEventListener('mouseenter', function() {
this.parentNode.classList.add('hover');
});
ul.addEventListener('mouseleave', function() {
this.parentNode.classList.remove('hover');
});
}
}

通過document.querySelectorAll('li')和li.querySelector('ul')獲取到ul和li標簽,然后利用addEventListener函數(shù)來監(jiān)聽鼠標進入和離開事件,從而實現(xiàn)hover狀態(tài)的轉(zhuǎn)換。需要注意的是,在mouseleave事件中,要將hover狀態(tài)從ul的parentNode即li標簽上刪除,否則鼠標在二級菜單內(nèi)滑動時,一級目錄不會停留在hover狀態(tài),也就無法實現(xiàn)二級目錄的連續(xù)展開。

本文介紹了JavaScript的二級目錄實現(xiàn)方式。通過HTML的ul和li標簽,CSS樣式的定制和JavaScript的交互效果,可以快速實現(xiàn)一個簡單的二級下拉菜單。