使用JavaScript的温度转换器不工作

时间:2014-03-02 04:03:56

标签: javascript

我是JavaScript的初学者。我正试图让这个温度转换器工作,但对需要调用的东西感到困惑。为什么这段代码不起作用?

     var convertCtoF = document.getElementById("degC");
 convertCtoF.onchange = function(degC){ 
                var degreesC = document.getElementById("degC").value; 

                var degreesF = (("degC" * 9/5)+ (32)); 

                document.getElementById("degFOut").innerHTML = degreesF;
 }

 var convertFtoC = document.getElementById("degF");
 convertFtoC.onchange = function(degF){  
                var degreesF = document.getElementById("degF").value; 

                var degreesC = (("degF" - 32) * (5/9)); 

                document.getElementById("degCOut").innerHTML = degreesC;
 }

3 个答案:

答案 0 :(得分:1)

var degreesF = ((degreesC * 9/5)+ (32));

...

var degreesC = ((degreesF - 32) * (5/9));

答案 1 :(得分:0)

需要:

var convertCtoF = document.getElementById("degC");
    convertCtoF.onchange = function(degC){
    var degreesC = document.getElementById("degC").value; 
    var degreesF = ((degreesC * 9/5)+ (32));
    document.getElementById("degFOut").innerHTML = degreesF;
}

var convertFtoC = document.getElementById("degF");
    convertFtoC.onchange = function(degF){
    var degreesF = document.getElementById("degF").value; 
    var degreesC = ((degreesF - 32) * (5/9));
    document.getElementById("degCOut").innerHTML = degreesC;
}

您正在引用该变量,而不是字符串。

答案 2 :(得分:0)

我注意到的一件事是

(("degC" * 9/5)+ (32)); 

(("degC" * 9/5)+ (32)); 

String乘以Number将返回NaN。我认为你打算做的是使用你在每一行上面定义的变量。

所以例如......

var degreesC = document.getElementById("degC").value; 
var degreesF = ((degreesC * 9/5)+ (32)); 

你应该把那些onchange函数的参数拿出来,因为它们没有被使用。除此之外,我认为这将有助于提供所有相关代码(包括HTML),以便我们可以进一步为您提供帮助。