2016-05-14 4 views
0

「ここをクリック」ボタンをクリックすると、そのようにしようとしています。次の文が表示されます。「温度は25℃です。」誰かが私のコードがうまくいかない理由を教えてもらえますか?どうすれば修正できますか?ここ は私のコードです:単純なJavascriptの機能が動作しません(華氏を摂氏に変換)

<p id="demo">This is my first paragraph</p> 

<button type="button" onclick="toCelsius(fahrenheit)">Click Here!</button> 

<script> 
    function toCelsius(fahrenheit) { 
     return (5/9) * (fahrenheit-32); 
     document.getElementById("demo").innerHTML = "The temperature is " + toCelsius(77) + " Celsius"; 
    } 
</script> 

+0

'return'文は関数を終了するのでそれが失敗した - それはあなたがinnerHTMLプロパティを設定し、次の行に到達したことはありません。 – skyline3000

+0

は「なぜ私のコードが失敗したのですか」の原因を指摘していますが、何らかのエラーがありますか? – RomanPerekhrest

答えて

0

あなたは(return文は、常に、関数の実行を終了し、その温度を表示一部が稼働していませんでした。)

早すぎるreturn文を置い

returnvar c=に置き換え、toCelsius(77)をその下のcに置き換えます。

さらに、ボタンイベントハンドラにはtoCelsius(fahrenheit)と記載されています。 fahrenheitは定義されていません。ページに<input id='fahrenheit' placeholder='temperature' />を追加すると、ボタンのイベントハンドラーをtoCelsius(document.getElementById('fahrenheit').value)に変更できます。

:)ちょうどそのように、あなたは電卓を持っています!

例:

<p id="demo">This is my first paragraph</p> 

<input id='fahrenheit' placeholder='temperature' /> 
<button type="button" onclick="toCelsius(document.getElementById('fahrenheit').value)">Click Here!</button> 

<script> 
    function toCelsius(fahrenheit) { 
    var celsius (5/9) * (fahrenheit-32); 
    document.getElementById("demo").innerHTML = "The temperature is " + 
      celsius + " Celsius"; 
    } 
</script> 
+2

彼はまた、 'toCelsius(77)'の中で同じ関数を呼び出す、再帰が多すぎます。 – skobaljic

0

はこの1つを試してみてください。

<script> 
    function toCelsius(fahrenheit) { 
     return (5/9) * (fahrenheit-32); 
    }; 

    document.getElementById("demo").innerHTML = "The temperature is " + toCelsius(77) + " Celsius"; 

</script> 

、あなたが前のinnerHTMLプロパティに割り当てをreturn文を持っているので、あなたのコードは動作しません。

0

使用このコード:

<script> 
function toCelsius(fahrenheit) { 
    return (5/9) * (fahrenheit-32); 
} 
document.getElementById("demo").innerHTML = "The temperature is " + toCelsius(77) + " Celsius"; 
</script> 
関連する問題