FF проблема с зависанием на якорном ротаторе - PullRequest
3 голосов
/ 25 ноября 2011

Хорошо, так что эта ошибка очень странная вот мой код, вы можете увидеть эту ошибку, используя fiddler

http://jsfiddle.net/LLMUX/13/

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

выдает ошибку - откройте страницу фиддлера, вы можете скопировать код в файл и попробовать его, то же самое происходит - со страницей скрипача вы можете зависать или делать что угодно или ничего не делать - откройте другую вкладку, делайте все, что в течение 5-10 секунд - вернуться на страницу скрипача - Скорее всего, вы увидите 2 блока, показывающих, тогда в конечном итоге 1 уходит

это происходит только в том случае, если вы возвращаетесь с другой вкладки, если вы остаетесь на странице, это НИКОГДА не произойдет. Я попробовал это сафари, этого не произошло Я попробовал это на IE9, этого не произошло! Я пробовал это на FF 7 и 8, оба с этой проблемой.

Если у кого-нибудь есть идеи о том, почему это происходит, это будет с благодарностью.

Редактировать - может не произойти 100% времени

1 Ответ

0 голосов
/ 26 ноября 2011

Бьюсь об заклад, ваша проблема такая же: Jquery setInterval слишком быстро при переходе с другой вкладки

Браузеры стараются свести к минимуму снижение производительности активных веб-страниц, когда пользователь не взаимодействует с ними. Одной из таких оптимизаций является setTimeout / setInterval «зажим» : Firefox 5+ не запускает тайм-ауты быстрее, чем один раз в 1 с.

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

См. Также Фоновая вкладка "Анимация" и jQuery

(правка), и если я прав, то попытаться исправить это - перестать использовать setInterval для управления анимацией и вместо этого всегда использовать «готовые» обратные вызовы jQuery для планирования следующего слайда через setTimeout: fadeIn - -> ждать 1 с -> исчезать -> исчезать.

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