Как предотвратить ошибки в анимации JQuery - PullRequest
0 голосов
/ 31 мая 2019

У меня относительно простая анимация с использованием JQuery.

По сути, это блоки, в которых один из них анимирует непрозрачность от 1 до 0 и обратно. Я хочу приостановить анимацию при вводе мышью и перезапустить анимацию при отпускании при входе или выходе из любого из полей. Я также изменяю непрозрачность всех блоков на указателе мыши и возвращаю им исходную непрозрачность на выходе мыши.

Все это работает так, как я хочу, моя проблема заключается в следующем:

Когда я быстро наводю курсор на разные поля, может показаться, что я двигаюсь слишком быстро, чтобы поддерживать разные состояния анимации, и это, в свою очередь, приводит к ошибочным эффектам, когда непрозрачность не возвращается к исходному состоянию .

Как избежать этих ошибок? Я знаю, что логика работает правильно, похоже, это проблема с производительностью.

Логика мышиного и мышиного выхода:

$(".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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...