Показать сообщение отдельно
  #8 (permalink)  
Старый 08.05.2012, 23:18
Профессор
Отправить личное сообщение для DjDiablo Посмотреть профиль Найти все сообщения от DjDiablo
 
Регистрация: 04.02.2011
Сообщений: 1,815

Проверил, нечего там не накапливается. Слайдер честно ждёт пока я выберу вкладку и только потом меняет слайд. Да и сам подумай как могут накапливаться события, если для генерации следующего события нужно обработать предыдущее. Тобиш если нет обработки то и события не генерируются, а если есть обработка это уже значит что не накапливаются )) говоря уже третьими словами, несколько ожидающих событий от одного setTimeout получить невозможно.

А вот ручное переключение между слайдеми у вас сударь работает как то через попу. Только накопление событий тут не причём.
Решить это можно так.
в случае нажатия, унечтожается старый таймер.
и создаётся новый, вызывающий autoAdvance через 20 секунд к примеру.

то есть мы попросту даём пользователю время рассмотреть тот слайд, на который он сам переключился.
А у вас сейчас получается что пользователь меняет слайд, и следом срабатывает таймер который меняет слайд обратно ))

Ещё один интересный момент, это смена кадра в момент переключения на вкладку.
Это происходит потому что обработчик ждёт возможности быть выполненным, и выполняется при первой возможности.
Это конечно и не баг, и можно оставить так. Но можно изменить модель поведения. К примеру замерять временной интервал между двумя вызовами обработчика, и если интервал окажется больше критического значения, то не вызывать trigger.
Когда пользователь вернется на вкладку он будет видеть три секунды тот слайд, который был на экране в момент когда пользователь уходил. То есть переключение слайда произойдет через три секунды, а не сразу после возвращения.
Однако я сомневаюсь что пользователи вообще заметят этот выпендреж.
__________________
Лучше калымить в гандурасе чем гандурасить на колыме

Последний раз редактировалось DjDiablo, 09.05.2012 в 00:11.
Ответить с цитированием