基于JS代碼實現(xiàn)導(dǎo)航條彈出式懸浮菜單
1.概述
采用彈出式懸浮菜單,不但可以使網(wǎng)站的導(dǎo)航內(nèi)容更加清晰,而且不影響頁面的整體效果。運行本實例,如圖1所示,當(dāng)鼠標(biāo)移動到一級導(dǎo)航菜單的標(biāo)題上時,將彈出懸浮菜單顯示該菜單對應(yīng)的子菜單,鼠標(biāo)移出時,將隱藏懸浮菜單。
2.技術(shù)要點
本實例主要是在JavaScript中,動態(tài)改變<div>標(biāo)簽對象的style屬性的display屬性值來實現(xiàn)動態(tài)顯示和隱藏二級導(dǎo)航菜單。其實,每一個一級菜單下的二級菜單內(nèi)容是已經(jīng)添加在網(wǎng)頁的<div>標(biāo)簽中,只是此時設(shè)置了<div>不顯示。所以,在JavaScript中,當(dāng)鼠標(biāo)經(jīng)過某個導(dǎo)航的標(biāo)題時,只需要調(diào)用指定的<div>對象,動態(tài)修改它的display屬性即可,display屬性包含兩個用于顯示和隱藏的屬性值,分別為none(隱藏)和block(顯示)。
例如:在網(wǎng)頁中有一個id為mydiv的<div>標(biāo)簽,并設(shè)置了此<div>為隱藏。在JavaScript中,控制此<div>顯示的寫法如下:
document.getElementById("mydiv").style.display="block";
3.具體實現(xiàn)
(1)編寫用于顯示和隱藏的JavaScript方法,當(dāng)鼠標(biāo)經(jīng)過一級菜單標(biāo)題時會顯示二級菜單,當(dāng)鼠標(biāo)移出時會隱藏二級菜單。關(guān)鍵代碼如下:
function change(img,subMenu,path,type){
img.src="images/"+path+".GIF";
if(subMenu!=null){
if(type==0){
subMenu.style.display="none";
}else{
subMenu.style.display="block";
}
}
}
(2)在頁面中,預(yù)先在<div>標(biāo)簽中為每個一級導(dǎo)航菜單添加二級菜單的內(nèi)容,并設(shè)置二級菜單的<div>標(biāo)簽為隱藏。關(guān)鍵代碼如下:
<div id="NUser" style="background-color:#F3FFD5; border:#75A102 1px solid; width:200px; position:absolute; display:none; left:1px; top: 34px;"> <table width="100%" border="0" height="35px" cellspacing="0" cellpadding="0"> <tr> <td align="center"><a href="#">瀏覽員工信息</a> <a href="#">添加新員工</a></td> </tr> </table> </div> ...//此處省略了其他二級菜單的<div>內(nèi)容
(3)在一級菜單的的表格的<td>中設(shè)置onMouseOver和onMouseOut事件,調(diào)用步驟(1)中定義的JavaScript的change()方法,動態(tài)改變二級菜單<div>的顯示和隱藏。關(guān)鍵代碼如下:
<td onMouseOver="change(ImgUser,NUser,'NUser_r',1)" onMouseOut="change(ImgUser,NUser,'NUser_b',0)" style="cursor:hand;"> <img id="ImgUser" src="images/NUser_b.GIF" width="106" height="48" border="0"> ...//省略了二級菜單的<div>代碼 </td>
以上所述是小編給大家介紹的導(dǎo)航條彈出式懸浮菜單,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
- JS實現(xiàn)選中當(dāng)前菜單后高亮顯示的導(dǎo)航條效果
- CSS3+Js實現(xiàn)響應(yīng)式導(dǎo)航條
- 仿客齊集首頁導(dǎo)航條DIV+CSS+JS [代碼實例]
- vuejs 切換導(dǎo)航條高亮(路由菜單高亮)的方法示例
- JS+CSS實現(xiàn)鼠標(biāo)滑過時動態(tài)翻滾的導(dǎo)航條效果
- JS組件Bootstrap導(dǎo)航條使用方法詳解
- javascript實現(xiàn)的鼠標(biāo)懸停時動態(tài)翻滾的導(dǎo)航條
- js實現(xiàn)橫向拖拽導(dǎo)航條功能
- 純JS實現(xiàn)彈性導(dǎo)航條效果
- JS實現(xiàn)網(wǎng)頁導(dǎo)航條特效
相關(guān)文章
Promise 鏈?zhǔn)秸{(diào)用原理精簡示例
這篇文章主要為大家介紹了Promise 鏈?zhǔn)秸{(diào)用原理精簡示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-12-12
性能優(yōu)化篇之Webpack構(gòu)建速度優(yōu)化的建議
這篇文章主要介紹了性能優(yōu)化篇之Webpack構(gòu)建速度優(yōu)化的建議,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04
js組件SlotMachine實現(xiàn)圖片切換效果制作抽獎系統(tǒng)
這篇文章主要介紹了js組件SlotMachine實現(xiàn)圖片切換效果制作抽獎系統(tǒng)的相關(guān)資料,需要的朋友可以參考下2016-04-04
如何通過js實現(xiàn)圖片預(yù)覽功能【附實例代碼】
如何通過js實現(xiàn)圖片預(yù)覽功能呢?下面小編就為大家?guī)硪黄胘s實現(xiàn)圖片預(yù)覽功能。給大家做個參考吧,一起跟隨小編過來看看2016-03-03
如何基于JS實現(xiàn)Ajax并發(fā)請求的控制詳解
通常為了減少頁面加載時間,先把核心內(nèi)容顯示處理,頁面加載完成后再發(fā)送ajax請求獲取其他數(shù)據(jù),這時就可能產(chǎn)生多個ajax請求,為了用戶體驗,最好是發(fā)送并行請求,這篇文章主要給大家介紹了關(guān)于如何基于JS實現(xiàn)Ajax并發(fā)請求控制的相關(guān)文章,需要的朋友可以參考下2021-08-08
cookie 最近瀏覽記錄(中文escape轉(zhuǎn)碼)具體實現(xiàn)
cookie 最近瀏覽記錄(中文escape轉(zhuǎn)碼)具體實現(xiàn),需要的朋友可以參考一下2013-06-06

