Я работаю на домашней странице с jquery с 5 или около того скрытых div, каждый из которых содержит несколько изображений css для фона.preload hidden CSS images
Проблема заключается в том, что браузер не загружает изображения css в DOM до тех пор, пока не будет показана видимость родительского слоя, в результате чего изображения будут медленно загружаться, когда слой станет видимым.
Solutions Я уже рассмотрел:
- CSS спрайтов (слишком много работы, чтобы перепроектировать для этого, а также не реально работать, когда отображение/скрытие дивы)
- This jQuery plugin, которые автоматически загружает CSS фоновых изображений (просто не работает для меня, как сообщают многие другие).
поджимать изображения с помощью JS:
$(function() { function preloadImg(image) { var img = new Image(); img.src = image; } preloadImg('/images/home/search_bg_selected.png'); });
Это решение кажется, чтобы загрузить изображение в йот дважды ... один раз, когда JS загружает его, а затем еще раз, когда ДИВ слой, который загружает становится видимым ... поэтому он делает 2 HTTP-звонка, поэтому не работает.
Любые другие решения этой проблемы, которые мне не хватает?
Спасибо за все предложения! Я дам им попробовать завтра и посмотрю, что работает. Я попробовал метод 1x1 div, но приложение rails, с которым я работаю, назначает хэш кэширования до конца URL-адреса изображения ... поэтому браузер рассматривает их как разные изображения, чем те, что указаны в css. – Cory