鼠标经过下拉菜单html怎么写,JavaScript实现鼠标经过显示下拉框

本文实例为大家分享了JavaScript实现鼠标经过显示下拉框的具体代码,供大家参考,具体内容如下

da5c9cd8cdbc35f56270937669d3083f.png

代码:

Document

* {

margin: 0;

padding: 0;

}

.nav {

margin: 100px auto;

width: 500px;

}

.nav>li {

float: left;

}

li {

list-style: none;

}

a {

display: block;

text-decoration: none;

color: gray;

height: 40px;

width: 100px;

text-align: center;

line-height: 40px;

box-sizing: border-box;

}

.nav>li>a {

color: black;

}

.nav>li>a:hover {

background-color: lightgray;

}

.nav>li>ul>li>a {

/* display: none; */

border: 1px solid orange;

border-top: none;

}

.nav>li>ul>li>a:hover {

background-color: lightyellow;

}

.nav>li>ul {

display: none;

}

var heads = document.querySelectorAll('.nav>li');

for (var i = 0; i < heads.length; i++) {

heads[i].onmouseover = function() {

this.children[1].style.display = "block";

}

heads[i].onmouseout = function() {

this.children[1].style.display = "none";

}

}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

可以使用以下代码实现HTML部分: ```html <ul class="menu"> <li> <a href="#">菜单1</a> <ul class="submenu"> <li><a href="#">子菜单1-1</a></li> <li><a href="#">子菜单1-2</a></li> <li><a href="#">子菜单1-3</a></li> </ul> </li> <li> <a href="#">菜单2</a> <ul class="submenu"> <li><a href="#">子菜单2-1</a></li> <li><a href="#">子菜单2-2</a></li> <li><a href="#">子菜单2-3</a></li> </ul> </li> <li> <a href="#">菜单3</a> <ul class="submenu"> <li><a href="#">子菜单3-1</a></li> <li><a href="#">子菜单3-2</a></li> <li><a href="#">子菜单3-3</a></li> </ul> </li> </ul> ``` CSS部分: ```css .menu { list-style: none; margin: 0; padding: 0; display: flex; } .submenu { display: none; position: absolute; background-color: #fff; border: 1px solid #ccc; margin: 0; padding: 0; } .submenu li { margin: 0; padding: 0; } .menu li:hover > .submenu { display: block; } ``` JavaScript部分: ```javascript const menuItems = document.querySelectorAll('.menu li'); menuItems.forEach(item => { item.addEventListener('mouseenter', (event) => { const currentSubmenu = item.querySelector('.submenu'); const otherSubmenus = document.querySelectorAll('.submenu:not(:hover)'); otherSubmenus.forEach(submenu => { submenu.style.display = 'none'; }); currentSubmenu.style.display = 'block'; }); }); ``` 代码解释: 1. 首先,使用 CSS 隐藏所有下拉菜单(`.submenu`)。 2. 当鼠标经过菜单项(`.menu li`)时,使用 CSS 显示当前菜单项下的下拉菜单(`.menu li:hover > .submenu`)。 3. 在 JavaScript 中,使用 `querySelectorAll` 获取所有菜单项,并对每个菜单项添加 `mouseenter` 事件监听器。 4. 当鼠标进入菜单项时,获取当前菜单项下的下拉菜单(`.submenu`),并获取其他所有下拉菜单(`.submenu:not(:hover)`)。 5. 隐藏其他下拉菜单显示当前下拉菜单
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值