return var of img.onload = function()

时间:2011-12-26 18:48:16

标签: javascript return onload

如何返回" 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 个答案:

答案 0 :(得分:1)

return summe;
但更重要的是,回归什么?这看起来像一个回调,这意味着您正在定义一个在图像加载时运行的函数,因此它将由浏览器自动调用,并且您将无法对返回的值执行任何操作。

回调返回值的唯一含义是return false通常会暂停事件冒泡并阻止默认操作(and should not be overused)。

你究竟想做什么?

答案 1 :(得分:-1)

如果你想使用一个返回值,你必须至少有一个函数名,以便稍后使用它:

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来使用你的返回值