我的Jquery悬停效果有两个问题。
我需要类似if(背景可见&& mouse不在div元素中)然后播放鼠标移动动画。 (重置封面标识)
答案 0 :(得分:3)
我已将JSfiddle更改为使用最新的jQuery库,并将反弹动画更改为简单的淡入淡出......并且它似乎按预期工作。
我认为你的反弹效果(由jQuery UI提供)可能是妨碍以某种方式正确停止的罪魁祸首。
如果您需要并且如果可能的话,使用简单的过渡使用延迟执行将动画移出事件处理程序,因此快速悬停不会触发任何过渡动画。这可能是确保正确处理和记录所有鼠标事件的最佳方法。
答案 1 :(得分:0)
动画队列可能存在问题。 检查jQuery的stop方法。官方文档中的示例将帮助您http://api.jquery.com/stop/。
正如文档建议的那样,将jQuery版本更新为>可能需要1.7。 如果您无法使用更新的jQuery版本,并且您正在更改不透明度,则必须将不透明度设置为0/1而不是使用fadeIn fadeOut。例如:
$el.bind('mouseenter',function(){
$(this).stop().animate({
opacity: 1
});
}).bind('mouseleave',function(){
$(this).stop().animate({
opacity: 0
});