Не получаете значение переменной? - PullRequest
0 голосов
/ 06 апреля 2009

Я не получаю значение переменной "img_srt" в функции загрузки, может ли мне помочь какое-нибудь тело?

$(document).ready(function() {
    Get_var();
})

var img_srt='<div>address</div>';   

function Get_var() {
    $("<img />").attr("src","http://www.google.com/intl/en_ALL/images/logo.gif")
        .load(function() {
            if (this.height > 0) {
                img_srt += "<div><img src='http://www.google.com/intl/en_ALL/images/logo.gif'/></div>";         
            }
        })
    alert(img_srt);
}

1 Ответ

5 голосов
/ 06 апреля 2009

Функция, которая устанавливает img_srt, вызывается асинхронно. То есть он может быть выполнен до или после вашего оператора alert. Скорее всего после того, как у вас возникла эта проблема.

Попробуйте что-то вроде этого:

$('<img/>')
    .attr('src', 'http://www.google.com/intl/en_ALL/images/logo.gif')
    .load(function() {
        var imageLoaded = this.height > 0;

        if(imageLoaded) {
            $(this).appendTo('#myDiv');
        } else {
            $('<p/>').text('Unable to load image').appendTo('#myDiv');
        }
    });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...