【发布时间】:2021-10-04 19:29:58
【问题描述】:
我想知道当鼠标悬停在元素上一段时间时如何显示弹出/提示框,例如伪代码:
if mouseover
if hovered for more than 2 seconds
--> show popup/tipbox
else
---> cancel mouseover
else if mouseout
--> reset timer/cancel mouseover
到目前为止,我已经这样做了,但效果不佳,如果我将鼠标悬停并快速移动,它仍然会显示弹出框/提示框。
$('a[rel=tip]').live('mouseover mouseout', function(e)
{
if(e.type == 'mouseover')
{
var mouseTime = setTimeout(function()
{
$('.tipbox').slideDown('fast');
}, 1000);
}
else if(e.type == 'mouseout')
{
if(mouseTime)
{
cancelTimeout(mouseTime);
mouseTime = null;
$('.tipbox').slideUp('fast');
}
}
});
编辑:已添加赏金。
【问题讨论】:
标签: jquery mouseevent mouseover