У меня есть ссылка, которая начинается с одного фонового изображения, а затем меняется при наведении на другое. Оба фоновых изображения установлены в CSS. Мои браузеры (любой из них), похоже, не загружают изображение при наведении, пока вы на самом деле не зависли. Но затем вы получаете пустое изображение в течение нескольких секунд (при моем очень медленном соединении), которое требуется для загрузки нового. Есть ли способ побудить браузер предварительно загрузить изображение при наведении, чтобы при наведении не происходило время задержки?
14
Мне не очень нравится решение javascript - оно грязное, сложное в обслуживании и, конечно, полностью перестает работать, когда JS отключен.
Современное решение заключается в использовании CSS Sprites - попробуйте, поверьте мне, вы удивитесь, почему вы никогда не делали этого раньше;)
источник
Я нашел эту ссылку о том, как предварительно загрузить изображения с использованием чистого CSS:
http://www.thecssninja.com/css/even-better-image-preloading-with-css2
И это сработало для меня, когда мне нужно изменить различные фоновые изображения при наведении.
источник
Добавьте это выше вашего CSS:
Если вы идете по пути спрайта, как подсказывает DanPan, у вас все еще есть проблема с загрузкой спрайта до того, как он понадобится. Тем не менее, я люблю спрайты; чтобы легко сделать их, я использую инструмент spriteme от Стива Соудерса:
источник