вернуть переменную img.onload = function () - PullRequest
0 голосов
/ 26 декабря 2011

Как можно вернуть значение "summe"? Спасибо!

img.onload = function() {
    orgWidth = this.width;
        orgHeight = this.height;

    factor = orgHeight / 480            // 1400 / 480 = 2.916
    calcWidth = orgWidth / factor       // 1000 / 2.916 = 342.935

    k++;

    summe += calcWidth;
    document.images[k].width = calcWidth;
}
alert(summe);

Ответы [ 2 ]

1 голос
/ 26 декабря 2011
return summe;

Но что важнее, вернуться к чему?Это похоже на обратный вызов, то есть вы определяете функцию, которая запускается при загрузке изображения, поэтому оно будет вызываться самим браузером автоматически, и вы не сможете ничего сделать с возвращенным значением.

Единственное значение, которое действительно имеют возвращаемые значения обратного вызова, это то, что return false обычно останавливает всплывающее окно события и предотвращает действие по умолчанию ( и не должно быть чрезмерно использовано ).

Что именно вы пытаетесьделать?

0 голосов
/ 26 декабря 2011

если вы хотите использовать возвращаемое значение, вы должны как минимум иметь имя функции, чтобы использовать его позже, например:

var func_name = function() {
    orgWidth = this.width;
        orgHeight = this.height;

    factor = orgHeight / 480            // 1400 / 480 = 2.916
    calcWidth = orgWidth / factor       // 1000 / 2.916 = 342.935

    k++;

    summe += calcWidth;
    document.images[k].width = calcWidth;
}

var funcObject;

img.onload = function() {
    funcObject = func_name();
}

, после этого вы можете использовать funcObject где угодно, чтобы использовать возвращаемое значение

...