Баг со сменой окна.
Здравствуйте.
Я сейчас пишу скромный слайдер и столкнулся вот с какой проблемой. Когда слайдер запущен, я переключаю вкладку в хроме или фаерфокс (в других не тестил), потом, через некоторое время, снова возвращаюсь на нее, слайдер начинается быстро прокручиваться компенсируя :) все прокрутки, которые я не увидел, пока был на другой вкладке. Такой баг вообще возможен? Что о нем известно? Нашел еще одну похожу проблему (без решения): http://javascript.ru/forum/events/18...i-vkladki.html |
Используйте анимацию в jQuery а не на таймерах, хром при уходе из вкладки замедляет работу таймеров, из-за этого и происходит такое.
|
Цитата:
Добавил обработку на события при возвращении и переключении вкладки/окна. Решение: $(window).blur(function(){ clearInterval(autoSlide); //Останавливаем слайдер }); $(window).focus(function(){ clearTimeout(newAutoslide); newAutoslide = setTimeout(function(){SliderSlide(startItem)}, timeSlider); //Перезапускаем слайдер через минуту. }); |
А что если останавливать анимацию с потерей фокуса, например: блока, документа или самого окна - одно из трех должно помочь.
|
Цитата:
Тем не менее, такое решение все равно порадило кучу багов. И в итоге, как и посоветовал devote, я использовал animate c замыканием саму на себя в колбэк функции. |
Часовой пояс GMT +3, время: 09:11. |