我正在尝试弄清楚这是否可能。我有一个图像 map ,它会根据悬停在某些部分上而淡入/淡出。问题是,当用户在淡入淡出它完成了它正在做的淡入淡出,然后执行鼠标移动到的区域的淡入淡出。如果用户在几个不同的区域之间快速移动,那么淡入淡出看起来真的很跳跃和尴尬,所以我希望能够禁用在另一个淡入淡出期间发生悬停事件(淡入淡出),因此它会忽略它..
我考虑过使用某种延迟,但我不知道这是否可行,因为我认为它也会延迟淡入淡出..任何建议都会受到赞赏。
最佳答案
在看不到代码的情况下,您的工具是 :animated
和 jQuery .stop()
方法的混合体。
这可能看起来像
$('imagemap').hover(function(){
// only do something if no animation is in process (like fading)
if(!$(this).is(':animated')){
}
}, function(){
});
您还可以在链中的任何 .fadeIn()
之前调用 .stop(true, true)
。这将停止当前动画并跳转到 fx 队列
的末尾。
引用文献::animated selector , .stop() , .is()
关于Jquery,在淡入/淡出期间禁用/忽略悬停事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3328712/