如何防止JQuery动画中的错误

时间:2019-05-30 22:49:38

标签: jquery animation

我有一个使用JQuery的相对简单的动画。

从本质上讲,这是一个盒子,其中一个将不透明度从1设置为0,然后重新设置。 我想在进入或离开任何框时在mouseenter上暂停动画,并在mouseleave上重新启动动画。 我还更改了mouseenter上所有框的不透明度,并将其更改为mouseleave上的原始不透明度。

所有这些都能按我的意愿工作,我的问题是:

当我快速将鼠标悬停在不同的框上时,似乎我移动得太快了,无法保持动画的不同状态,这反过来又导致了多虫效应,其中不透明度不会回到原始状态

如何避免这些错误? 我知道逻辑工作正常,这似乎是性能问题。

鼠标和鼠标离开逻辑:

$(".box").mouseenter(function() {
    $(".box").stop(true, false) // stop animation and stop queued animation
}

$(".box").mouseleave(function() {
    anim() // call anim function to restart animation
}

工作示例: https://codepen.io/JonnyPS/pen/pmQbaQ?editors=0010

0 个答案:

没有答案