Как проверить загружено изображение или нет?

Тема в разделе "HTML, CSS, XML, JavaScript", создана пользователем chuser, 14 окт 2009.

Статус темы:
Закрыта.
  1. chuser

    chuser Гость

    Задача такая: при нажатии на ссылку должно открываться новое окно с изображением. При этом размер окна должен подгоняться под размер изображения. Функция new_win загружает картинку. Функция checkLoad проверяет, если картинка уже загружена, то открыть окно. Если не загружена, то вернуться к проверке. Т.е. используется рекурсия.
    Проблема в том, что окно открывается только при повторном нажатии на ссылку. Потом, когда картинка уже в кэше все работает нормально. Почему при первом нажатии на ссылку рекурсия не работает? По идее функция checkLoad должна выполняться пока картинка не загрузится (условие if(myImage.complete)).


    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">

    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title></title>

    <script type="text/javascript" charset="utf-8">
    function checkLoad(url, myImage){
    if(myImage.complete){
    var w = myImage.width;
    var h = myImage.height;
    var param = "width=" + w + ",height=" + h;
    newWin = window.open(url, "myWindow", param);}
    else{
    SetTimeout(checkLoad(url, myImage), 100);}
    }
    }
    function new_win(url, img_url)
    {
    var myImage = new Image();
    myImage.src = img_url;
    checkLoad(url, myImage);
    }
    </SCRIPT>
    </head>

    <body>
    <a href="java script:new_win('2.html', '1.jpg')">LINK</a>
    </body>

    </html>
     
  2. etc

    etc Гость

    Тут для начала надо исправить синтаксические ошибки, потом можно будет дальше.
     
  3. chuser

    chuser Гость

    Где ошибки? Можно конкретнее?
     
  4. etc

    etc Гость

    у ИЕ спросите.
     
Загрузка...
Статус темы:
Закрыта.

Поделиться этой страницей