Мульти предзагрузка изображений
Столкнулся с проблемой.
Надо сначала при заходе на страницу подгрузить 3 изображения, а уж после этого их показать. $("#loader").show(); // показываем лодаер $("#left .image_look").css('opacity','0.5'); $("#left .image_look").load('/looks/doll',function(){ // ждем загрузки изображения $("#left .image_look #bg").css('display','block'); $("#left .image_look #i55").css('display','block'); $("#left .image_look #i51").css('display','block'); $("#loader").hide(); $("#left .image_look").css('opacity','1'); }); не помогло так же и не помогло вложеный лоад $("#left .image_look #bg").load(function(){ $("#left .image_look #i55").load(function(){ $("#left .image_look #i51").load(function(){ $("#left .image_look #bg").css('display','block'); $("#left .image_look #i55").css('display','block'); $("#left .image_look #i51").css('display','block'); $("#loader").hide(); $("#left .image_look").css('opacity','1'); }); }); }); Заранее спасибо! |
Цитата:
var a=[ 'http://javascript.ru/forum/images/smilies/smile.gif', 'http://javascript.ru/forum/images/smilies/laugh.gif', 'http://javascript.ru/forum/images/smilies/yes4.gif' ]; var ai=[]; for(var i=0; i<a.length; i++){ ai[i] = new Image(); ai[i].src = a[i]; } |
С callback
//предзагрузчик изображений $.preloadImages = function () { if (typeof arguments[arguments.length - 1] == 'function') { var callback = arguments[arguments.length - 1]; } else { var callback = false; } if (typeof arguments[0] == 'object') { var images = arguments[0]; var n = images.length; } else { var images = arguments; var n = images.length - 1; } var not_loaded = n; for (var i = 0; i < n; i++) { $(new Image()).load(function() { if (--not_loaded < 1 && typeof callback == 'function') { callback(); } }).attr('src', images[i]); } } |
Спасибо, помог 2й вариант, 1й тоже работает, но немного не так как я хочу)
|
С callback показать чистый исходник в новом окнеСкрыть/показать номера строкпечать кода с сохранением подсветки 01 //предзагрузчик изображений 02 $.preloadImages = function () { А как его запускать? |
Цитата:
preloadImages( 'http://javascript.ru/forum/images/smilies/smile.gif', 'http://javascript.ru/forum/images/smilies/laugh.gif', function() { alert('все загрузилось'); } );или так: preloadImages([ 'http://javascript.ru/forum/images/smilies/smile.gif', 'http://javascript.ru/forum/images/smilies/laugh.gif', ], function() { alert('все загрузилось'); } );вот тока есть недостаток, если одно из изображений не удалось загрузить, то и калбек никогда не будет вызван |
Часовой пояс GMT +3, время: 01:48. |