Показать сообщение отдельно
  #26 (permalink)  
Старый 05.09.2016, 15:27
Профессор
Отправить личное сообщение для Маэстро Посмотреть профиль Найти все сообщения от Маэстро
 
Регистрация: 02.07.2010
Сообщений: 642

Сообщение от paveltkachev Посмотреть сообщение
У меня теперь в верхнем левом углу в FireFox постоянно мигает символ отсутствующей картинки. Но скачков кадров больше нет. Отчего так?
Разные браузеры по-разному рендерят картинки. В Google Chrome сильно заметно мерцание. Происходит это в частности потому, что Вы меняете img.src и img.style.zIndex одновременно. А нужно показывать картинку после её полной загрузки.

То есть, необходимо обрабатывать событие img.onload и по нему менять zIndex ("поднимать наверх"), либо при механизме из двух img попеременно менять им свойство display.

Также проблемы возникают при медленном интернете, когда при интервале загрузки 1 сек картинка не успевает загрузиться и в этот момент уже отдается команда на смену её src, т.е. загрузку новой картинки. Избавиться от этого можно опять таки запуском таймера по событию img.onload.
На случай проблем с интернетом/ftp стоит также обрабатывать событие img.onerror и перезапускать таймер.
Ответить с цитированием