jquery, глюк с анимацией...
Здравствуйте...
прошу особо не пинать, если подобной вопрос уже встречался... но на гугле подобного не нашел... вопрос вот в чем... есть небольшой скрипт следующего вида <script type="text/javascript"> $(document).ready(function() { var cur = 0; var obj=["c0","c1","c2","c3","c4"]; show_must = function(){ $('#'+obj[cur]).animate({ opacity: 'hide' }, 800); cur++; if (cur >= obj.length) cur = 0; $('#'+obj[cur]).delay(800).animate({ opacity: 'show' }, 1600); }; go_on = function(){ play = setInterval(function(){ show_must(); }, 10000); }; go_on(); }); </script> Так вот, есть серия дивов с id = c0...c1, которые сменяют друг друга, последовательно исчезая/появляясь... все работает... все ок, если б не одно но.... если свернуть браузер, или перейти на другую вкладку, а потом вернуться спустя время назад, на страницу где выполняется скрипт, то можно увидеть картину, где наблюдается быстрая (намного быстрее чем обозначенный интервал в 10000 мс) смена дивов... один налазит на другой, и так n-ное кол-во раз... потом все нормализуется... такое осущение, что браузер копит данную анимацию, а потом старается очень быстрое ее проиграть.... вот собственно... никто не сталкивался? В чем может быть проблема? |
попробуй оканчивать анимацию, когда вкладка переключается (окно теряет фокус).
делается это через $.stop( true );, если не ошибаюсь. посмотри сам. я не помню джиквери window.onblur = .... |
о, спасибо... думаю вы подсказали нужное нарпавление...
|
И всеже интересно... глюк с анимацией наблюдается в Chrome , в IE все нормально....
Можно ли обойтись без бубна вида blur/focus |
ап
|
Та же трабла:( пробовал останавливать на window.onblur но проблема в том что Хром продолжает глючить (ИЕ не проверял). Если кто знает или разобрался в чем проблема то буду благодарен за подсказку.
|
Часовой пояс GMT +3, время: 19:00. |