显示的代码不完整,无法跟踪。但我假设 NaN 被传递给 Floor() 开始。将有效的数字/数字字符串传递给 floor() 以使其工作。错误在于问题中未显示的代码逻辑。
编辑:
查看您的代码后,很明显问题是由于错误的赋值操作造成的。如果调用 'if' 部分,一切都很好,但如果调用 'else' 部分,则永远不会创建或分配值 'num',导致它为 NaN。要解决此问题,我建议您这样做:
改变这个:
if(document.getElementById("div").style.top === "40px"){
var num = Math.floor(document.getElementById("num").innerHTML);
document.getElementById("num").innerHTML = num+1;
}
else{
document.getElementById("num").innerHTML = num-1;
}
对此:
var num = Math.floor(document.getElementById("num").innerHTML);
if(document.getElementById("div").style.top === "40px"){
document.getElementById("num").innerHTML = num+1;
}
else{
document.getElementById("num").innerHTML = num-1;
}