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