Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 21.02.2013, 21:43
Новичок на форуме
Отправить личное сообщение для y0rker Посмотреть профиль Найти все сообщения от y0rker
 
Регистрация: 16.01.2013
Сообщений: 5

Мульти предзагрузка изображений
Столкнулся с проблемой.
Надо сначала при заходе на страницу подгрузить 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');
});
});
});

Заранее спасибо!
Ответить с цитированием
  #2 (permalink)  
Старый 22.02.2013, 08:32
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,214

Сообщение от y0rker
при заходе на страницу подгрузить 3 изображения
Как вариант...

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]; 
}
Ответить с цитированием
  #3 (permalink)  
Старый 22.02.2013, 10:04
Аватар для Serg_pnz
Сам по себе
Отправить личное сообщение для Serg_pnz Посмотреть профиль Найти все сообщения от Serg_pnz
 
Регистрация: 09.06.2009
Сообщений: 963

С 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]);
    }
}
Ответить с цитированием
  #4 (permalink)  
Старый 22.02.2013, 11:46
Новичок на форуме
Отправить личное сообщение для y0rker Посмотреть профиль Найти все сообщения от y0rker
 
Регистрация: 16.01.2013
Сообщений: 5

Спасибо, помог 2й вариант, 1й тоже работает, но немного не так как я хочу)
Ответить с цитированием
  #5 (permalink)  
Старый 26.07.2013, 13:19
Аспирант
Отправить личное сообщение для alexandr2006 Посмотреть профиль Найти все сообщения от alexandr2006
 
Регистрация: 30.01.2013
Сообщений: 54

С callback
показать чистый исходник в новом окнеСкрыть/показать номера строкпечать кода с сохранением подсветки
01	//предзагрузчик изображений
02	$.preloadImages = function () {



А как его запускать?
Ответить с цитированием
  #6 (permalink)  
Старый 26.07.2013, 13:47
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

Сообщение от alexandr2006
А как его запускать?
по коду разве не видно:
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('все загрузилось');
    }
);
вот тока есть недостаток, если одно из изображений не удалось загрузить, то и калбек никогда не будет вызван
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
jquery-gp-gallery.js - разное отображение подгружаемых изображений frutality jQuery 1 09.09.2012 18:15
Повременная смена изображений jozev Элементы интерфейса 2 01.08.2011 18:43
Прокрутка изображений gen552 Элементы интерфейса 6 01.04.2011 13:11
предзагрузка изображений Larne Элементы интерфейса 6 25.11.2010 02:14
Скролл мини изображений I-Trap Элементы интерфейса 1 25.11.2009 22:03