Моргание фонового изображения в IE
Иногда при вёрстке меню приходится задавать фоновое изображение для тега A. При наведении курсора мыши на такой элемент в IE происходит моргание фоновой картинки, по причине того, что браузер каждый раз пытается загрузить её с сервера.
Чтобы избавиться от этого неприятного эфекта, добавьте в начало страницы следующий код, заставляющий включить кэширование фоновых картинок:
<script> document.execCommand("BackgroundImageCache", false, true); </script>
Либо тоже самое, но через css:
body { filter: expression(document.execCommand("BackgroundImageCache", false, true)); }
Добрый день!
Ситуация следующая:
есть команда, — ‘‘ …
И, вы удивитесь, у меня проблемы … Дело в том, что в двух слоях одна под другой находятся два img разного тона. При наведении мыши на ссылку, верхняя img становится невидимой, чем достигается эффект нажатия клавиши … Но при этом … При наведении курсоры мыши происходит дрожание изображения: верхняя img, с неизвестной частотой, становится то видимой, то невидимой … Что бы это значило и как от этого избавиться ??? Пробовал вашу подсказку, — не выходит ни в Explorer’e, ни в Opera. Спасибо.
Задайте пропадающее изображение фоном для родительского элемента, сдивнув его за область видимости — один из знаменитых багов ИЕ
Вообще, есть более рациональное решение.
Есть такое понятие, как css-спрайты. Берете две картинки, которые меняются фоном, объединяете в одну, а потом через css просто позиционируете этот фон.
1. Не важно, включено кэширование или нет — загрузятся сразу «обе» картинки.
2. За счет объединения — уменьшается число загружаемых файлов, что снижает число запросов на сервер, что уменьшает время загрузки.
Например, на много быстрее будет загружаться 1 файл размеров 50Кб, чем 10 файлов по 5Кб.
3. Это будет работать, независимо от поддержки скриптов у пользователя и прочего. Просто и на 100% кроссбраузерно.
Да, но от моргания в IE6 это никак не спасает! Хоть 10 спрайтов создайте. Этому подвержены многие IE6 Windows XP SPI и некоторые индивиды SP2. Решение есть — использовать CSS прелоадер (скрыйтый слой, на фон которого кладем нужную картинку).
не работает!!! В IE7 как был косяк, так и остался
Пример в студию!