gpt4 book ai didi

jquery - 延迟 css :hover state on mouseout

转载 作者:太空宇宙 更新时间:2023-11-03 21:07:23 26 4
gpt4 key购买 nike

我有一个 2 级下拉菜单,鼠标必须穿过一条非常狭窄的走廊才能保持菜单打开,如果它离开轨道,菜单会意外关闭,这很令人沮丧。我想让菜单不是立即关闭,而是延迟关闭。

这是一个用 css 制作的标准菜单,就像这样:

ul.menu li ul {
display: none;
}
ul.menu li:hover ul {
display:block;
}

我需要当不再有悬停状态时,菜单仍然可见至少 0.5 秒。

已经试过了,但是不行:

<script>
$( ".menu li" ).mouseout(function() {
$(".menu li ul").css("display: block");
$(".menu li ul").css.setTimeout("display: none", 2000);
});
</script>

最佳答案

您可以使用带有延迟的过渡,使其在悬停时保持可见:

.nested {
pointer-events:none; /* this is so it behaves like display none and mouse does not interact with child when hidden */
opacity: 0;
transition: opacity 0.1s; /* change length to longer for a nicer fade */
transition-delay: 1s; /* fadeout won't happen for a second */
}
.hover:hover .nested {
pointer-events: auto;
opacity: 1;
transition: opacity 0.1s; /* fade in when hovered */
transition-delay: 0s; /* fade in immediately */
}
<div class="hover">
hover
<div class="nested">
nested
</div>
</div>

在上面,您的 ul 将是 .nested 而您的父级 li 将是 .hover

关于jquery - 延迟 css :hover state on mouseout,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51283411/

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