2011-12-26 54 views
0

如何返回「summe」的值?謝謝!返回var的img.onload = function()

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); 
+0

返回什麼? – Ryan 2011-12-26 18:51:36

回答

-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隨時隨地使用你的返回值

+0

沒有幫助我。我對Java完全陌生。 – Kibou 2011-12-26 19:13:18

+0

你想要對返回的值做什麼? – 2011-12-26 20:07:09

+0

JavaScript @Kibou不是Java。他們有類似的名字和一些類似的語法,但他們是非常不同的編程語言,如果你像Java一樣編程JavaScript,你將會遇到很多困難,它與Scheme和IO等語言更接近 – 2011-12-26 21:10:57

1
return summe; 

但更重要的是,返回什麼?這看起來像一個回調,這意味着你正在定義一個圖像加載時運行的函數,因此它將被瀏覽器自動調用,並且你將無法對返回值做任何事情。

回調返回值的唯一含義是return false通常會暫停事件冒泡並阻止默認操作(and should not be overused)。

你究竟想要做什麼?

+0

http://foto.hendrik-schicke .de/index.php/people 我需要summe來設置width.css(「width」,parseInt(summe)); – Kibou 2011-12-26 19:02:13

+0

@基布爲什麼不從回調方法內部做到這一點?您不知道圖像何時會完成加載,因此您可以做的最好的工作是在完成後進行設置。順便說一句,當你使用parseInt時,你幾乎總是想提供'10'的第二個基數參數,否則它會嘗試猜測基數,並且你有時會得到非常奇怪的行爲。自己嘗試'parseInt(「010」)'會猜測基數4並返回8 – 2011-12-26 19:52:49

+0

另外,不要使用alert來進行調試 - 使用console.log()會更有幫助,並且會阻止您離開調試對話框在您的代碼中,您的用戶將看到。 – 2011-12-26 19:56:05

相關問題