悬停时重置(jQuery)
。。工作正常,但我想添加一个条件,这样如果#通知悬停,计时器/延迟将停止,直到鼠标移出。然后在鼠标移出时,计时器启动,最后元素被隐藏(除非它不再悬停)悬停时重置(jQuery),jquery,timer,hover,slide,Jquery,Timer,Hover,Slide,。。工作正常,但我想添加一个条件,这样如果#通知悬停,计时器/延迟将停止,直到鼠标移出。然后在鼠标移出时,计时器启动,最后元素被隐藏(除非它不再悬停) 谢谢 如果我理解正确,如果悬停元素,是否希望能够停止延迟/动画 使用clearQueue()进行此操作 $("#notification").slideDown("slow").delay(2000).slideUp("slow"); 尝试处理onmouseover(而不是onmousehave)事件。现在何时发生元素向下滑动事件?在hover
谢谢 如果我理解正确,如果悬停元素,是否希望能够停止延迟/动画 使用
clearQueue()
进行此操作
$("#notification").slideDown("slow").delay(2000).slideUp("slow");
尝试处理onmouseover(而不是onmousehave)事件。现在何时发生元素向下滑动事件?在hover()上?document.ready()?它基于cookie,如果找不到cookie,则向下滑动…理论上,如果你在1999毫秒后悬停,计时器将停止,然后当你再次滑鼠时,它将再次隐藏,只剩下1毫秒。这是必须的吗?因为在你悬停的时候重置计时器要容易得多:)啊,我想我明白了,你可能会有某种通知和/或按钮显示出来,然后在大约2秒钟内隐藏起来,你希望它能防止在有人用鼠标点击通知时隐藏起来。只需一个注释-为问题添加上下文将真正有助于回答问题。对不起,是的,如果找不到cookie,则会自动加载,此通知会向下滑动,如果用户正在阅读(鼠标悬停),我不希望它关闭。您可以试着在回答问题时多做些努力。另外,没有onmousehave事件。呃..使用slidedown/slideup和delay时整个事情应该是什么样子?不客气:)尝试删除clearQueue,看看是否有效,我听说stop()可能对delay()不起作用,但这可能已经修复。
$(document).ready(function() {
if(cookieIsPresent) {
$("#notification").hover(function() {
$(this).stop(true, true).clearQueue(); // You might not need to use clearQueue() but test it out
}, function() {
$(this).delay(2000).slideUp("slow");
}).slideDown("slow").delay(2000).slideUp("slow");
}
});