NaN分配了innerHTML

时间:2013-08-25 21:34:25

标签: javascript innerhtml nan parseint

我尝试将innerHTML值转换为另一个innerHTML,然后将其转换为int,然后将总数分配给另一个innerhtml,以便它可以使用javascript打印出来

我已尝试过parseIntparseFloat,但这对我来说无效。

实际上,在我将innerHTML转换为int之后,我获得了“NaN”而不是获得数字。

这是我的代码:

var Sum = parseInt(document.getElementById('fir').innerHTML) +
          parseInt(document.getElementById('sec').innerHTML);

setTimeout(function func(){ch1.innerHTML=Sum;},2500);

现在函数Sum内最后一行的func()应该是一个整数,但不幸的是,它不是,在我的情况下它等于“NaN”,为什么会这样?

编辑:
每件事关于杉木&秒

<body>
<h1 id="fir"></h1>
<h2 id="sec"></h2>

<script>
var x=document.getElementById("fir")
x.style.position = "absolute";
x.style.left = 770;
x.style.top = 315;


var z=document.getElementById("sec")
z.style.position = "absolute";
z.style.left = 930;
z.style.top = 315;

setTimeout(function a(){x.innerHTML=Math.floor((Math.random()*10)+1);},1000);

setTimeout(function b(){z.innerHTML=Math.floor((Math.random()*10)+1);},2000);

</script>

</body>

1 个答案:

答案 0 :(得分:0)

尝试以数值开头

<h1 id="fir">0</h1>
<h2 id="sec">0</h2>

您要在超时之前对值进行求和,您应该将求和包装在函数中并在设置值示例后立即调用它:

function applySUM()
{
    var Sum = parseInt(document.getElementById('fir').innerHTML) +
    parseInt(document.getElementById('sec').innerHTML);    
    ch1.innerHTML=Sum; //removed the timer to apply the calculation
}

setTimeout(function(){
    x.innerHTML=Math.floor((Math.random()*10)+1);
    applySUM();
},1000);

setTimeout(function(){
    z.innerHTML=Math.floor((Math.random()*10)+1);
    applySUM();
},2000);