Заголовок не требует пояснений, но я предоставлю пошаговое представление по этому вопросу. Надеюсь, я не первый, кто заметил эту (по-видимому) ошибку в Webkit/Chrome.
Я хочу reset анимацию GIF. Все примеры, которые я видел до сих пор, либо просто устанавливают src изображения самому себе, либо снова устанавливают его в пустую строку, за которой следует оригинал src.
Взгляните на этот JSFiddle для справки. GIF сбрасывает отлично в IE, Firefox и Chrome.
Проблема, которая у меня есть, заключается в том, что изображение display:none только в Google Chrome.
Отметьте JSFiddle. GIF сбрасывает штраф на IE и Firefox перед отображением на странице, но Chrome просто отказывается от reset его анимации!
Что я пробовал до сих пор:
- Установка
srcдля себя, как в Fiddle, не работает в Chrome. - Установка
srcв пустую строку и восстановление ее по умолчанию также не работает. - Помещение обертки вокруг изображения, опуская контейнер через
.html('')и помещая изображение обратно внутрь, тоже не работает. - Изменение
displayизображения с помощью.show()или.fadeIn()перед установкойsrcтоже не работает.
Обходной путь только, который я нашел до сих пор, заключается в том, чтобы сохранить изображение по умолчанию display и манипулировать им с помощью .animate() ing и .css() с непрозрачностью, высотой и видимостью, когда необходимо для моделирования поведения display:none.
Основная причина (контекст) этого вопроса заключается в том, что я хотел reset ajax loader GIF прямо перед тем, как затухать его на странице.
Итак, мой вопрос в том, есть ли подходящий способ для reset анимации изображения GIF (что позволяет избежать ошибки Chrome display:none) или это на самом деле ошибка?
(ps. Вы можете изменить GIF в скриптах для более подходящего/более длинного анимационного gif для тестирования)