как остановить анимацию JQuery, когда моя страница не активна - PullRequest
1 голос
/ 12 февраля 2012

Я бы хотел остановить анимацию jquery при открытии новой вкладки в браузере.Каждый раз, когда я на некоторое время покидаю свою страницу и возвращаюсь через некоторое время, мой слайдер jquery сходит с ума, и он меняет слайды, как безумные, потому что я не остановил его.У вас есть какое-то решение?

Ответы [ 2 ]

6 голосов
/ 12 февраля 2012

В JavaScript:

window.addEventListener('focus', function() {
    // code to start 
});
window.addEventListener('blur', function() {
    // code to stop
});

С JQUery:

$(window).bind('focus', function() {
  // code to start
});
$(window).bind('blur', function() {
  // code to stop
});
3 голосов
/ 12 февраля 2012

Я где-то читал об этом, и это называется наращивание очереди анимации . Вместо того, чтобы пытаться остановить анимацию при открытии новой вкладки, поставьте stop() непосредственно перед запуском анимации.

Это обеспечит уничтожение предыдущей анимации перед продолжением ....

например:

$('.some-selector').stop().slideUp();

Надеюсь, это поможет ...

...