Слайдер JQuery, странная производительность после смены вкладки - PullRequest
2 голосов
/ 05 сентября 2011

Я создал слайдер с помощью JQuery, но теперь странная производительность появляется после смены вкладок в Firefox и Chrome.

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

Так что я действительно не знаю, в чем проблема Firefox и Chrome: D

Может кто-то помочь мне или у кого-то есть ЛЮБОЕ представление, почемуэто происходит?

Ответы [ 3 ]

2 голосов
/ 05 сентября 2011

Проблема в том, что разные анимации не синхронизированы. Вы должны работать над созданием последующих анимаций в качестве обратных вызовов! В JavaScript нет спящего.Как только он получает вызов для функции, он пытается выполнить ее.Но когда вы находитесь вдали от окна / вкладки, браузер отнимает большую часть вычислительной мощности у неактивной вкладки, чтобы обеспечить большую мощность новой текущей вкладке.Хотя стек функций, вызываемых на неактивной вкладке, сохраняется, и как только вкладка восстанавливает вычислительную мощность, стек очищается как можно скорее.(это причина того, что страница возвращается к нормальной работе через несколько секунд)

2 голосов
/ 12 сентября 2011

Хорошо, ребята, я нашел ответ на этот вопрос через некоторое время:

В JQuery 1.6.2 они реализовали новый "requestAnimationFrame".Но в данный момент это не очень хорошо работает и создает " анимационные червячные дыры ", как я описал в своем вопросе здесь!

В JQuery 1.6.3 они удалили этот API, и теперь он работаетснова хорошо;)

Вот этот жучок: http://bugs.jquery.com/ticket/9381

С уважением Рафаэль

0 голосов
/ 05 сентября 2011

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

Добавление остановки в вызове поворота, кажется, помогает.

$(".image_roll").stop(true, true).animate({
    left: -image_rollPosition
}, 1200, 'easeInOutQuart');

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

См. http://jsfiddle.net/fc7Xc/104/ для примера.

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