2015-10-05 3 views
0

Я вызываю случайное изображение из flickr api.Предварительная загрузка изображений с использованием jquery из flickr api

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

$(document).ready(function(){ 

    $.getJSON("http://api.flickr.com/services/feeds/photos_public.gne?jsoncallback=?", 
    { 
     //tags: keyword, 
     tagmode: "any", 
     format: "json" 
    }); 


    var loadNewImage = function() { 
     var rnd = Math.floor(Math.random() * data.items.length); 
     var image_src = data.items[rnd]['media']['m'].replace("_m", "_b"); 
     $('.main').css('background-image', "url('" + image_src + "')"); 
    } 

    var imageInterval = 10000; 
    setInterval(loadNewImage(), imageInterval); 

}); 
+0

Уверены, что это работает? 'setInterval (loadNewImage(), imageInterval);' неверно (удалите круглые скобки после имени функции). – Andy

+0

ОК, кроме того, как я могу сделать предварительную загрузку? – kerki

+0

Предлагаю сначала исправить ошибки в коде. В дополнение к этой ошибке, которую я указал, ваш метод getJSON вытягивает XML, а не JSON, поэтому я теперь еще больше удивлен тем, что код работает. В ответ на ваш вопрос вам, вероятно, нужно прочитать во всех URL-адресах изображений из JSON, перебрать их, создав «новое изображение()» для каждого, и поместить изображения в массив. Затем вы можете просто захватить изображения из массива как и когда вам нужно. – Andy

ответ

0

Одним из способов были бы вставить скрытый IMG в документ и обрабатывать его OnLoad события.

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