Показать сообщение отдельно
  #8 (permalink)  
Старый 04.11.2011, 16:21
Аватар для ksa
ksa ksa на форуме
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 13,435

Сообщение от Jambo85 Посмотреть сообщение
в моем случае
img.onload = function(){
desc = true;
}

onload выполнит действие desc=true
В твоём примере она не выполняется. Именно это я и пытался тебе проиллюстрировать своим примером, который ты понял таки правильно.
А вот свой так и не понял... Показываю еще раз, т.с. максимально приблизив к боевым.

var desc; 
 var img = new Image();
 img.onload = function(){
    //var desc = true; 
    alert(1)
 }
 img.onerror = function(){
    //var desc = false; 
    alert(2)
 }
 img.src = 'http://javascript.ru/forum/images/smilies/smile.gif'; 
 ///alert(desc);


Хотя нет. Не прав тут я...
Тогда вот тебе нужный вариант.

window.desc=0; 
 var img = new Image();
 img.onload = function(){
    window.desc = true; 
 }
 img.onerror = function(){
    window.desc = false; 
 }
 img.src = 'http://javascript.ru/forum/images/smilies/smile.gif'; 
 setTimeout(function(){alert(window.desc);},200);


Т.е. onload не выполняется мгновенно... Ему ведь нужно дождаться когда картинка загрузится. Только тогда и наступает это событие.

Последний раз редактировалось ksa, 04.11.2011 в 16:26.
Ответить с цитированием