Заголовок не требует пояснений, но я предоставлю пошаговое представление по этому вопросу. Надеюсь, я не первый, кто заметил эту (по-видимому) ошибку в 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 для тестирования)