Моргание фонового изображения в IE

Иногда при вёрстке меню приходится задавать фоновое изображение для тега A. При наведении курсора мыши на такой элемент в IE происходит моргание фоновой картинки, по причине того, что браузер каждый раз пытается загрузить её с сервера.

Чтобы избавиться от этого неприятного эфекта, добавьте в начало страницы следующий код, заставляющий включить кэширование фоновых картинок:

<script>
    document.execCommand("BackgroundImageCache", false, true);
</script>

Либо тоже самое, но через css:

body {
    filter: expression(document.execCommand("BackgroundImageCache", false, true));
}
Пошерить
Плюсануть
Отправить
Вотсап

WordPress Digest Мой канал в Телеграм, посвящённый WordPress

не работает!!! В IE7 как был косяк, так и остался

Кобзарёв Михаил

Пример в студию!

Вообще, есть более рациональное решение.
Есть такое понятие, как css-спрайты. Берете две картинки, которые меняются фоном, объединяете в одну, а потом через css просто позиционируете этот фон.
1. Не важно, включено кэширование или нет — загрузятся сразу «обе» картинки.
2. За счет объединения — уменьшается число загружаемых файлов, что снижает число запросов на сервер, что уменьшает время загрузки.
Например, на много быстрее будет загружаться 1 файл размеров 50Кб, чем 10 файлов по 5Кб.
3. Это будет работать, независимо от поддержки скриптов у пользователя и прочего. Просто и на 100% кроссбраузерно.

Кобзарёв Михаил

Да, но от моргания в IE6 это никак не спасает! Хоть 10 спрайтов создайте. Этому подвержены многие IE6 Windows XP SPI и некоторые индивиды SP2. Решение есть — использовать CSS прелоадер (скрыйтый слой, на фон которого кладем нужную картинку).

Кобзарёв Михаил

Задайте пропадающее изображение фоном для родительского элемента, сдивнув его за область видимости — один из знаменитых багов ИЕ

Добрый день!
Ситуация следующая:
есть команда, — ‘‘ …
И, вы удивитесь, у меня проблемы … Дело в том, что в двух слоях одна под другой находятся два img разного тона. При наведении мыши на ссылку, верхняя img становится невидимой, чем достигается эффект нажатия клавиши … Но при этом … При наведении курсоры мыши происходит дрожание изображения: верхняя img, с неизвестной частотой, становится то видимой, то невидимой … Что бы это значило и как от этого избавиться ??? Пробовал вашу подсказку, — не выходит ни в Explorer’e, ни в Opera. Спасибо.

Добавить комментарий

Такой e-mail уже зарегистрирован. Воспользуйтесь формой входа или введите другой.

Вы ввели некорректные логин или пароль

Извините, для комментирования необходимо войти.

1. Нажимая на кнопку "Отправить", я даю согласие на обработку персональных данных.

2. Для вставки кода используйте специальные теги [code lang="php"]ваш код[/code]