2011-12-26 10 views
0

"summe"の値を返すことは可能ですか?ありがとうございました!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

答えて

-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

+0

戻り値で正確に何をしたいですか? –

+0

Javascript @KibouはJavaではありません。彼らは同様の名前といくつかの似たような構文を持っていますが、それらは非常に異なるプログラミング言語です.JavaScriptのようにJavaをプログラミングすると難しいでしょう。SchemeとIOのような言語にはるかに近いです。 –

1
return summe; 

さらに重要なことは、何に戻るか?これはコールバックのように見えます。つまり、イメージが読み込まれるときに実行される関数を定義しているため、ブラウザ自体によって自動的に呼び出され、返された値では何もできません。

コールバック戻り値が実際に持つ意味は、通常、return falseがイベントのバブリングを停止し、デフォルトのアクション(and should not be overused)を防止するということだけです。

あなたは正確に何をしようとしていますか?

+0

http://foto.hendrik-schicke .de/index.php/people conveye.css( "width"、parseInt(summe))の幅を設定するにはsummeが必要です。 – Kibou

+0

@Kibouどうしてコールバックメソッドの中でそれをしないのですか?イメージの読み込みが完了するときがわからないので、できる限り最善のことは完了したときに設定することです。ところで、parseIntを使用するときには、ほとんどの場合、第2のradixパラメータに '10'を指定する必要があります。そうでなければ、基数を推測しようとします。あなた自身で試してください 'parseInt(" 010 ")'はベース4を推測して8を返します –

+0

また、デバッグにアラートを使わないでください - console.log()を使うともっと便利でデバッグダイアログを残さないでしょうあなたのコードにはあなたのユーザーに表示されます。 –

関連する問題