你好,我是javascript的新手,请原谅我,如果答案看起来很明显......
这是我的代码,只需单击正文中的按钮即可执行
function q() {
var A = document.getElementById("time_one").value;
var B = document.getElementById("time_two").value;
var C = document.getElementById("post_number").value;
var D = (B - A) / C;
for ( var x = A; x < B; x = x + D ) {
document.getElementById("q_box").innerHTML = x + "<br />";
}
}
我很确定错误是在for循环中......输出应该是A和B之间的数字列表。将innerHTML =更改为innerHTML + =也没有用?
答案 0 :(得分:1)
function q() {
var A = +document.getElementById("time_one").value;
var B = +document.getElementById("time_two").value;
var C = +document.getElementById("post_number").value;
var D = (B - A) / C;
for ( var x = A; x < B; x = x + D ) {
document.getElementById("q_box").innerHTML += x + "<br />";
}
}
您应该转换int
中的值,然后使用+=
答案 1 :(得分:0)
在innerHTML
循环中使用for
代码,您始终使用上次迭代值设置值。因此,您需要将代码更新为
for ( var x = A; x < B; x = x + D ) {
document.getElementById("q_box").innerHTML += x + "<br />";
}
OR
var y = "";
for ( var x = A; x < B; x = x + D ) {
y += x + "<br />";
}
document.getElementById("q_box").innerHTML = y;
我建议您选择第二个选项,因为最好一次设置更新的值,而不是为每次迭代提取值和更新。