如果我在文本框中输入 50 并将 0 作为 offsetTop,我会得到 050。为什么?这是代码:
alert(allspan[i].offsetTop+document.getElementById("size").value);
如果我在文本框中输入 50 并将 0 作为 offsetTop,我会得到 050。为什么?这是代码:
alert(allspan[i].offsetTop+document.getElementById("size").value);
的返回类型.value
是一个字符串,所以你得到的是字符串连接而不是两个数字相加。
您需要parseInt
使用价值。
alert(allspan[i].offsetTop + parseInt(document.getElementById("size").value,10));
您可能需要使用parseInt(myVar)
或parseFloat(myVar)
将其转换为数字数据类型。
您将一个整数添加(allspan[i].offsetTop)
到一个字符串(document.getElementById("size").value
),这将是一个字符串。
如果你将第二个值设为整数,你会没事的:
allspan[i].offsetTop + parseInt(document.getElementById("size").value)
这是一个常见的问题。如果你要在数学方程中使用一个变量,那么你必须通过使用来确保它是一个数字parseInt(variableName)
。
尝试 :
alert(parseInt(allspan[i].offsetTop) + parseInt(document.getElementById("size").value));
这是因为document.getElementById("size").value
返回的是字符串,而不是整数。试试这个:
parseInt(document.getElementById("size").value);