gpt4 book ai didi

javascript - Jquery下拉菜单鼠标输入延迟

转载 作者:行者123 更新时间:2023-11-29 15:30:48 26 4
gpt4 key购买 nike

所以我有一个带有 jquery 的下拉菜单,它使用上下滑动功能。

$(document).ready(function(){
$('#menu>li').mouseenter(function(){
$(this).find('ul>li').slideDown(250);
$(this).find('ul>li').css('position', 'relative');
$(this).find('ul>li').css('z-index', 9999);
});
$('#menu>li').mouseleave(function(){
$(this).find('ul>li').slideUp(250);
$(this).find('ul>li').css('position', 'relative');
$(this).find('ul>li').css('z-index', 9999);
});
});

我怎样才能使我的 mouseleave 函数执行后有一段延迟才能再次注册 mouseenter 函数?

提前致谢!

最佳答案

声明一个初始超时为 0 的变量,一旦它进入 mouseleave 函数,将其更新为您想要延迟的值。

编辑
使用 clearTimeout 清除之前创建的超时。

$(document).ready(function(){
var delay=0;
var timeout;
$('#menu>li').mouseenter(function(){
timeout= setTimeout(function(){
$(this).find('ul>li').slideDown(250);
$(this).find('ul>li').css('position', 'relative');
$(this).find('ul>li').css('z-index', 9999);
},delay);
});
$('#menu>li').mouseleave(function(){
if(typeof timeout!=='undefined'){
clearTimeout(timeout);
}
delay=250;
$(this).find('ul>li').slideUp(250);
$(this).find('ul>li').css('position', 'relative');
$(this).find('ul>li').css('z-index', 9999);
});
});

关于javascript - Jquery下拉菜单鼠标输入延迟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35123649/

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