悬停意图插件与我需要的相反。
我有一个由 .trigger 触发的 .popup,当我将鼠标悬停在其上时,我希望 .popup 在几秒钟内不淡出,但如果我将鼠标悬停,然后再次悬停,则取消将要发生的淡出并保持 .popup 打开。
有谁知道我会怎么做?
这不起作用,但这是一个想法:
$('.trigger').hover(function(){
$('.popup').fadeIn(600)
}, function() {
$('.popup').delay(2000, function(){
if ($(this).blur() = true) {
$('.popup').fadeOut(600)
}
});
})
jQuery悬停意图插件 http://cherne.net/brian/resources/jquery.hoverIntent.html正是您所寻找的。
超时属性将设置在调用 out 函数之前鼠标需要离开该区域的时间。
引用悬停意图网站:
暂停:
在调用“out”函数之前的简单延迟(以毫秒为单位)。如果用户在超时到期之前将鼠标移回到元素上,则不会调用“out”函数(也不会调用“over”函数)。这主要是为了防止草率/人为的鼠标轨迹暂时(无意地)使用户离开目标元素......给他们时间返回。默认超时:0
要设置它...
$('.trigger').hoverIntent({
over: startHover,
out: endHover,
timeout: 2000
});
然后定义要处理的函数over
and out
function startHover(e){
//your logic here
$('.popup').fadeIn(600)
}
function endHover(){
//your logic here
$('.popup').fadeOut(600)
}
EDIT:
您还可以调整interval
属性来增加/减少 startHover 函数触发的时间...默认设置为 100 毫秒...您可以将其设置为零,以便在鼠标进入触发区域时立即触发弹出窗口(如果您愿意)喜欢。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)