jquery的鼠标悬停事件太快

jquery的鼠标悬停事件太快,jquery,mouseevent,mouseover,Jquery,Mouseevent,Mouseover,我必须在导航栏上显示一些东西(有8项) 我在导航栏上使用了mouseover,以显示一组特定的项目。问题是鼠标盖太快。有没有办法推迟这件事?我只想在鼠标上方显示一些div(带数据) 请注意,我想在鼠标悬停时显示我的div,并在鼠标离开时隐藏我的div。请建议如何将其用于某些鼠标事件 我的示例代码: $(文档).on('mouseover','.menu',函数(参数){ $(this.find('.drop-down').css('display','block'); }); $(文档).on(

我必须在导航栏上显示一些东西(有8项)

我在导航栏上使用了
mouseover
,以显示一组特定的项目。问题是
鼠标盖
太快。有没有办法推迟这件事?我只想在鼠标上方显示一些div(带数据)

请注意,我想在鼠标悬停时显示我的div,并在鼠标离开时隐藏我的div。请建议如何将其用于某些鼠标事件

我的示例代码: $(文档).on('mouseover','.menu',函数(参数){ $(this.find('.drop-down').css('display','block'); }); $(文档).on('mouseout','.menu',函数(参数){ $(this.find('.drop-down').css('display','none'); })

您可以使用delay()函数,它将帮助您获得所需的结果, 这里是语法

                    $(selector).delay(speed,queueName)
delay()方法设置一个计时器来延迟队列中下一项的执行


这里有一个很好的延迟函数示例-

使用
setTimeout
进行延迟(不仅对于jquery,它比
delay
更好,因为可以取消执行)。以下是菜单示例:

timer = setTimeout(function(){
    $this.find('.drop-down').show();
    timer = null;
    }, 400);
var定时器;
var-timerOut;
$(文档).ready(函数(){
$('.menu')。在('mouseover',function()上{
var$this=$(this);
//清除现有计时器以防止显示另一个下拉列表
中频(定时器){
清除超时(计时器);
}
计时器=设置超时(函数(){
$this.find('.drop-down').show();
定时器=空;
}, 400);
});
$('.menu')。在('mouseout',function()上{
var$this=$(this);
timerOut=setTimeout(函数(){
$this.find('.drop-down').hide();
定时器=空;
}, 400);
});
});
菜单{
字体大小:14px;
背景:浅绿色;
}
.下拉列表{
显示:无;
字体大小:12px;
左侧填充:10px;
背景:浅蓝色;
}

菜单1
下降1.1
下降2.1
菜单2
下降1.2
下降2.2

请发布一些显示您尝试过的代码。我是否可以使用其他函数来代替鼠标悬停和鼠标悬停我的代码:$(文档)。在('mouseover','.menu',函数(参数){$(this).find('drop-down').css('display','block');})$(document).on('mouseout','.menu',function(argument){$(this).find('drop-down').css('display','none');}我使用过这样的函数:$(document).on('mouseover','.menu',function(argument){$(this).find('drop-down').css('display','block');$(document on('mouseout','menu',function',function(argument){$(this).find('.drop-down').css('display','none');})您可能需要它不会隐藏,以防鼠标延迟返回,对吗?@user2814546,如果有帮助,请接受答案!