дождаться загрузки изображения

Тема в разделе "JavaScript", создана пользователем registered, 22 июн 2012.

Статус темы:
Закрыта.
Модераторы: ZiX
  1. registered

    registered Создатель

    Регистр.:
    13 апр 2012
    Сообщения:
    45
    Симпатии:
    4
    есть код:
    Код:
    var img = new Image();
    img.src = urlArr[1];
    img.onload = function(){
    //тут что-то делаем
    }
    //а вот этот код должен как-то дождаться завершения загрузки изображения:
    var width = img.width;
    
    собственно, нужно приостановить скрипт до завершения выполнения img.onload()
     
  2. latteo

    latteo Эффективное использование PHP, MySQL

    Moderator
    Регистр.:
    28 фев 2008
    Сообщения:
    1.403
    Симпатии:
    1.184
    всё что должно сработать после img.onload() помещай в функцию, которая по этому событию срабатывает:
    Код:
     var img = new Image();
    img.src = urlArr[1];
    img.onload = function(){
    //тут что-то делаем
    var width = img.width; 
    }
     
     
  3. registered

    registered Создатель

    Регистр.:
    13 апр 2012
    Сообщения:
    45
    Симпатии:
    4
    нет, так не пойдёт:
    функция-то выполнится, но результатов я не получу, потому, что выполнится она когда-нибудь потом, когда скрипт уже отработает.
    нужно именно задержать скрипт
     
  4. DrakonHaSh

    DrakonHaSh

    Регистр.:
    29 июн 2010
    Сообщения:
    358
    Симпатии:
    122
    registered
    по моему вы не вникли в совет latteo
    обратите внимание на то место, куда переместился код
    var width = img.width;
     
  5. registered

    registered Создатель

    Регистр.:
    13 апр 2012
    Сообщения:
    45
    Симпатии:
    4
    ядрён-батон, да во всё я вник
    это вы все не можете вопрос прочитать
    и отвечаете на какой-то другой вопрос:
    типа я не знаю, как решить данную задачу, но вот если поменять условия... то всё просто
    только задачи не решаются изменением условия.

    я вкурсе, что код, помещённый в обработчик события onload выполнится после загрузки,
    иначе не помещал бы его в скрипт.
    но мне нужно именно, чтобы весь остальной скрипт дождался загрузки.
     
  6. DrakonHaSh

    DrakonHaSh

    Регистр.:
    29 июн 2010
    Сообщения:
    358
    Симпатии:
    122
    ответ на ваше первое сообщение дан на 100%. так что возможно вы свое первое сообщение слабо сформулировали:?

    как вариант - грузите свой скрипт не сразу, а в обработчике загрузки картинки img.onload
    гугл: загрузка javascript
    =>
    Динамическая загрузка внешних JavaScript-файлов
    Отложенная загрузка javascript
     
  7. registered

    registered Создатель

    Регистр.:
    13 апр 2012
    Сообщения:
    45
    Симпатии:
    4
    ладно, не хочу тратить силу своих пальцев на споры с вами.
    если вы не можете сопоставить вопрос и ответ...
    просто сделаю вид, что ваших постов здесь нет.

    всем остальным - тема всё ещё актуальна.
    сдаётся мне, решение кроется где-то в применении
    setInterval()
    или
    setTimer()
    но пока не понял, как их туда приладить...

    ONLOAD НЕ ПРЕДЛАГАТЬ
    ЧИТАЕМ ПОСТАНОВКУ ЗАДАЧИ
    (ВДУМЧИВО)
     
  8. dino

    dino

    Регистр.:
    28 май 2009
    Сообщения:
    550
    Симпатии:
    204
  9. registered

    registered Создатель

    Регистр.:
    13 апр 2012
    Сообщения:
    45
    Симпатии:
    4
    решение найдено.
    как всегда, всё довольно просто:
    цикл с условием вполне не плохо задерживает скрипт.
    всем спасибо за ответы, никак не относящиеся к существу вопроса.
    отдельный респект dino:
    ссылка на обсуждение обработчика ONLOAD, конечно же, не является предложением использовать ONLOAD.
     
Статус темы:
Закрыта.