2014-01-08 2 views
-4

У меня есть страница с несколькими css-изображениями. Каждый раз, когда вы нажимаете точку (первые три точки работают внизу), новое изображение приходит через jQuery. К сожалению, есть белая вспышка, пока браузер не кэширует изображения.Белая вспышка при изменении нескольких фоновых изображений css через jQuery

Есть ли обходной путь для предварительной загрузки трех фоновых изображений?

+1

пожалуйста, поделитесь кодом для большего понимания .. –

ответ

0
new Image().src = "url"; 

это будет кэшировать изображения. Если у вас есть куча адресов для загрузки:

[ 
    "images/sunset.jpg", 
    "images/greece.jpg", 
    "images/adventure.jpg" 
].forEach(function(url){ 
    new Image().src = url; 
}); 

enter image description here

Как вы можете видеть, все три изображения предварительно загружены.

0
$('<img/>', {src: your_source}); // for each image 
+0

Зачем использовать jQuery, когда вы можете сделать это быстрее в родном JavaScript? ... –

+0

«Есть ли временное решение для предварительной загрузки трех фоновых изображений с помощью jQuery?» Он спрашивает, что я отвечаю. – pushOk

+0

Ну ... Я не знаю, что сказать. –

0

вы можете предварительно загрузить изображения, используя сам js.

пример:

var img1 = new Image(); 
img1.src = "img1 path"; 

var img2 = new Image(); 
img2.src = "img2 path"; 

сделать это, пока страница загружается и браузер загружает все изображения и когда вы должны показать им, что они уже загружены

Смежные вопросы