javascript - 如何在图像 fadeIn 和 fadeOut 上使用 stop() 正确防止事件堆叠?

标签 javascript jquery fadein fadeout

我正在开发一个程序,用户将鼠标悬停在图像上并创建该悬停图像的克隆。当用户从悬停的图像中移除光标时,克隆图像淡出并被移除。我在 fadeIn()fadeOut() 之前添加了 stop() 以防止淡入和淡出动画事件堆叠。

问题是,如果鼠标光标多次快速进入和离开图像,则克隆图像的动画淡入淡出仅部分完成或克隆图像根本不淡入淡出。

jsfiddle:

jsfiddle

最佳答案

好的,我知道这不是您要求的,但我已经以我认为最有效的方式重写了您的 javascript。

请看这里http://jsfiddle.net/peduarte/L7VLU/1/

我添加了一些注释解释。

我觉得你的版本有点重。创建克隆并在每次鼠标悬停时附加,然后在每次鼠标移出时将其删除。

我这样做是为了在页面加载时克隆图像,并将其隐藏。然后使用 hover() 函数,您可以根据需要淡入淡出。

如果你想保留你的代码,那么你所要做的就是将你当前的停止事件替换为:

stop(true, true)

希望这对您有所帮助。

关于javascript - 如何在图像 fadeIn 和 fadeOut 上使用 stop() 正确防止事件堆叠?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8354556/

相关文章:

jQuery悬停: fading in a hidden div while fading out the "default" one

javascript - Jquery 淡入/淡出

javascript - Append() 方法没有复制样式

javascript - 在 Javascript AngularJS 中从旧帖子中确定新帖子,过滤与否

jquery - 使用动画增加背景图像大小

jquery - 使用 OpenID 选择器触发 Facebook 登录按钮

jQuery fadeIn 和 fadeOut 在 Chrome 中出现问题,但在 Firefox 中有效

javascript - 可以使用什么杠杆来减少 Blink 中的 UpdateLayerTree 操作?

javascript - 如何根据窗口宽度居中列

javascript - 根据 json 数据显示警报