gpt4 book ai didi

javascript - 单击元素后关闭 css 悬停下拉菜单

转载 作者:太空宇宙 更新时间:2023-11-04 06:25:29 25 4
gpt4 key购买 nike

我想使用 HTML、CSS 和 JavaScript 在网页上创建一个经典菜单栏。一切正常,但单击菜单项不会隐藏菜单。相反,菜单会一直出现,直到光标从元素上移开。这是不自然的,并且在基于触摸的设备上尤其麻烦。网上的解决方案都是用的jQuery,我觉得很陌生。有没有不使用 jQuery 隐藏菜单的方法?

function onButtonClick(event) {
event.stopPropagation();
console.log(event.target.id);
//close menu here
}

我的 fiddle :https://jsfiddle.net/crlab/uq6at5mk/

最佳答案

首先,您指定要处理的元素:

var el = this.parentNode;

然后,使用与 CSS 相同的逻辑,将 display 设置为 none

el.style.display = "none";

最后,在 30ms 之后,恢复内联样式以保留 hover 效果:

setTimeout(function() {
el.style.removeProperty("display");
}, 30);

最终结果是这样的:

function onButtonClick(event) {
event.stopPropagation();
console.log(event.target.id);

var el = this.parentNode;
el.style.display = "none";
setTimeout(function() {
el.style.removeProperty("display");
}, 30);

}

希望对您有所帮助。

关于javascript - 单击元素后关闭 css 悬停下拉菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55120654/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com