成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁技術文章
文章詳情頁

JavaScript實現HTML導航欄下拉菜單

瀏覽:236日期:2023-06-14 10:08:40

JavaScript實現HTML導航欄下拉菜單[懸浮顯示]

前端界面進行設計時,我們會遇到鼠標懸浮在某選項上,然后就會憑空顯示出菜單出來,這種設計的確受到了很多人的青睞。其實純css也是可以實現的,但是會有一些限制,必須如要顯示的菜單需要作為鼠標懸浮元素的子元素,選擇器優先級等等。廢話不多說,直接看效果!

JavaScript實現HTML導航欄下拉菜單

樣式有點丑。

代碼實現(JavaScript)

1、獲取要懸浮的對象和菜單對象

//獲取需要懸浮的對象 let show = document.getElementById('show'); //獲取被隱藏的菜單 let menu = document.getElementById('menu');

2、對懸浮對象添加鼠標懸浮事件

//給show添加鼠標懸浮事件 show.onmouseover = function(){ //改變菜單的內聯樣式display為block,菜單顯示 menu.style.display = 'block'; }

3、對懸浮對象添加鼠標離開事件

如果先觸發了懸浮對象show的鼠標懸浮事件,不移動到菜單menu上就鼠標就離開了,會出現菜單無法隱藏的bug!所以在懸浮對象的鼠標離開事件中,我們需要進行判斷,如果鼠標移開后的位置不在菜單menu的范圍內,則令菜單menu隱藏,否則就繼續顯示

show.onmouseout = function(){ //獲取菜單欄的坐標值 let menux = menu.offsetLeft; let menuy = menu.offsetTop; let menuX = menu.offsetLeft+menu.offsetWidth; let menuY = menu.offsetTop+menu.offsetHeight; //獲取鼠標的坐標值 let event = window.event; let mouseX = event.clientX; let mouseY = event.clientY; if(mouseX<menux || mouseX>menuX || mouseY<menuY || mouseY>menuY){ menu.style.display = 'none'; } }

4、分別給菜單menu添加鼠標懸浮和離開事件

這里見碼之意,假如鼠標在menu上就顯示,離開了就隱藏

//分別給menu對象綁定鼠標懸浮和鼠標離開事件menu.onmouseover = function(){ menu.style.display = 'block';}menu.onmouseleave = function(){ menu.style.display = 'none';}

源代碼:

<!DOCTYPE html><html lang='en'><head> <meta charset='UTF-8'> <meta name='viewport' content='width=device-width, initial-scale=1.0'> <title>Document</title> <script> window.onload = function(){ //獲取需要懸浮的對象 let show = document.getElementById('show'); //獲取被隱藏的菜單 let menu = document.getElementById('menu'); //給show添加鼠標懸浮事件 show.onmouseover = function(){//改變菜單的內聯樣式display為blockmenu.style.display = 'block'; } // show.onmouseout = function(){//獲取菜單欄的坐標值let menux = menu.offsetLeft;let menuy = menu.offsetTop;let menuX = menu.offsetLeft+menu.offsetWidth;let menuY = menu.offsetTop+menu.offsetHeight;//獲取鼠標的坐標值let event = window.event;let mouseX = event.clientX;let mouseY = event.clientY;if(mouseX<menux || mouseX>menuX || mouseY<menuY || mouseY>menuY){ menu.style.display = 'none';} } //分別給menu對象綁定鼠標懸浮和鼠標離開事件 menu.onmouseover = function(){menu.style.display = 'block'; } menu.onmouseleave = function(){menu.style.display = 'none'; } } </script> <style> *{ margin: 0; padding: 0; } li{ list-style: none; } #show { margin-top: 10px; margin-left: 10px; width: 50px; height: 30px; border: 1px solid #ccc; background-color: pink; } #menu{ display: none; margin-left: 10px; width: 50px; border: 1px solid #ccc; background: rgba(0, 0, 0, 0.6); } #menu a{ color: #fff; text-decoration: none; } </style></head><body> <div id='box'> <div id='show'><a href='http://www.piao2010.com/bcjs/14300.html#'>Gorho</a></div> <ul id='menu'> <li><a href='http://www.piao2010.com/bcjs/14300.html#'>選項一</a></li> <li><a href='http://www.piao2010.com/bcjs/14300.html#'>選項二</a></li> <li><a href='http://www.piao2010.com/bcjs/14300.html#'>選項三</a></li> </ul> </div></body></html>

寫在最后:其實在作品中需要將菜單menu設置成絕對定位,即position:absolute。否則菜單出現后會擠壓其他盒子的位置,但筆者趕時間,就沒有設置,其實設置也很簡單,在css中加上就大功告成了!

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: JavaScript
相關文章:
成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久
午夜亚洲伦理| 欧美无乱码久久久免费午夜一区| 亚洲精品菠萝久久久久久久| 亚洲观看高清完整版在线观看 | 欧美日韩国产色综合一二三四| 欧美激情一区| 国产一区亚洲一区| 国产精品一级黄| 成人黄色小视频| 欧美一区二区三区色| 国产精品高潮呻吟| 久久国产剧场电影| 精品成人在线观看| 色婷婷综合久久久久中文| 久久精品国产99久久6| 久久久久久穴| 日日夜夜精品免费视频| 色综合天天天天做夜夜夜夜做| 亚洲永久免费| 综合久久给合久久狠狠狠97色| 欧美日本国产| 久久亚区不卡日本| 欧美一区二区| 欧美激情综合五月色丁香| 在线精品观看| 亚洲第一精品在线| 久久这里只有| 日产国产欧美视频一区精品| 亚洲伊人观看| 色欧美片视频在线观看在线视频| 日韩一区二区三区观看| 国产jizzjizz一区二区| 久久久一区二区| 国内精品久久久久影院色| 欧美人xxxx| 久久99精品国产91久久来源| 91久久精品一区二区三区| 99av国产精品欲麻豆| 久久xxxx| 久久久久久久久久久黄色| 日韩欧美国产一区二区三区| 国产精品无人区| 奇米777欧美一区二区| 成人av在线资源网| 国产视频一区在线观看一区免费| 在线观看日韩毛片| 久久久午夜电影| 国产精品美女久久久久久| 狠狠久久综合婷婷不卡| 亚洲私人黄色宅男| 色婷婷综合视频在线观看| 日韩国产欧美三级| 久久亚洲捆绑美女| 91蜜桃婷婷狠狠久久综合9色| 久久精品视频免费观看| 亚洲国产1区| 日韩高清在线电影| 欧美精品日韩精品| 成人av网站免费| 国产精品美女一区二区在线观看| 国产日韩欧美二区| 日韩av中文字幕一区二区三区| 欧美视频一区二区三区四区 | 影音先锋亚洲精品| 三级一区在线视频先锋 | 日韩精品一区二区在线观看| 91麻豆精品在线观看| 亚洲精品欧美综合四区| 色婷婷精品久久二区二区蜜臀av | 日本大胆欧美人术艺术动态| 777欧美精品| 欧美午夜精品| 日本欧美肥老太交大片| 日韩免费视频线观看| 韩国av一区| 日韩不卡一二三区| 久久亚洲精品国产精品紫薇| 一区二区日本视频| 秋霞国产午夜精品免费视频| 在线成人免费视频| 欧美国产三区| 午夜激情一区二区三区| 7799精品视频| 欧美aa国产视频| 亚洲自拍另类综合| 欧美一区二区在线免费观看| 亚洲先锋成人| 免费看欧美美女黄的网站| 久久一夜天堂av一区二区三区| 在线精品一区二区| 精品一区二区三区免费观看| 国产精品丝袜在线| 欧美私模裸体表演在线观看| 午夜精品久久99蜜桃的功能介绍| 五月综合激情网| 亚洲欧美日韩在线观看a三区| 激情成人综合网| 亚洲国产精品国自产拍av| 六月天综合网| 成人av在线一区二区三区| 亚洲精品国产成人久久av盗摄 | 夫妻av一区二区| 一区二区三区欧美| 日韩三级精品电影久久久| 亚洲久色影视| 成人丝袜18视频在线观看| 亚洲一区二区三区在线看| 日韩精品一区二区三区视频播放| 一区二区三区|亚洲午夜| 国产高清成人在线| 亚洲制服丝袜av| www久久精品| 91黄色激情网站| 亚洲小说欧美另类社区| 国产一区二区网址| 亚洲午夜在线电影| 天天综合天天综合色| 中国成人亚色综合网站| 成人午夜av影视| 丝袜美腿高跟呻吟高潮一区| 国产日产欧产精品推荐色| 欧美性生交片4| 亚洲狠狠婷婷| 成人福利视频在线看| 日韩成人精品在线| 亚洲美腿欧美偷拍| 久久先锋影音av鲁色资源网| 在线亚洲人成电影网站色www| 国产中文一区| aaa欧美日韩| 国产麻豆视频一区二区| 无吗不卡中文字幕| 中文字幕第一区| 欧美mv和日韩mv国产网站| 欧美性猛交xxxx黑人交| 在线亚洲激情| 欧美日韩在线高清| 国产成人av在线影院| 三级久久三级久久| 亚洲精品日韩综合观看成人91| 日韩免费高清av| 欧美图片一区二区三区| 亚洲一卡久久| 影音欧美亚洲| 91理论电影在线观看| 国产精品123| 蜜臀av一区二区三区| 一个色在线综合| 国产精品免费网站在线观看| 欧美成人性战久久| 欧美另类变人与禽xxxxx| 久久精品麻豆| 9久re热视频在线精品| 欧美黄色免费| 91在线观看成人| 国产精品资源在线看| 九九**精品视频免费播放| 婷婷激情综合网| 亚洲一区二区美女| 亚洲精品水蜜桃| |精品福利一区二区三区| 久久精品人人做| 久久久久一区二区三区四区| 欧美成人a∨高清免费观看| 91精品一区二区三区久久久久久| 欧美午夜电影网| 在线中文字幕不卡| 在线观看一区日韩| 欧美艳星brazzers| 欧洲日韩一区二区三区| 久久激情婷婷| 久久国产欧美精品| 久久只有精品| 色婷婷综合中文久久一本| 久久亚洲图片| 国产亚洲二区| 美女黄网久久| 久久九九免费| 久久综合激情| 色婷婷综合五月| 色8久久精品久久久久久蜜| 久久激情一区| 色婷婷久久99综合精品jk白丝| 久久成人资源| 久热综合在线亚洲精品| 亚洲欧美日韩精品久久久| 校园春色综合网| 久久九九国产| 欧美三级欧美一级| 欧美久久婷婷综合色| 欧美一区二区三区视频在线观看| 欧美高清一级片在线| 日韩一区二区免费电影| 日韩你懂的在线观看| 精品嫩草影院久久| 国产日本一区二区| 国产精品不卡在线观看| 亚洲蜜臀av乱码久久精品蜜桃| 亚洲曰韩产成在线| 视频一区二区三区中文字幕|