如何在段落中的单个点上设置数字增量计数器

时间:2018-04-16 15:58:16

标签: javascript jquery html5

我正在尝试使用setInterval增加数字的值来重复执行。

var x = document.getElementById("text");

var y = setInterval(counter, 1000);

function counter() {

 var a = document.getElementById("number");

 x.innerHTML += a.value * 2;

}

var a是输入字段,而var x是段落。当我单击调用该函数的计数器按钮时,段落中的值不会改变,但会开始循环相同的数字。

例如,如果段落中的值为2,并且输入字段中的值为2,则我的结果将是重复的“444444 ...”,它会不断向右延伸。但是,我想要的是使单个值在单个点上增加4,8,16,就像普通计数器一样。

请帮助。当我使用不带<br>

的for语句时,也会发生这种情况

4 个答案:

答案 0 :(得分:0)

删除连接:

  

x.innerHTML = a.value * 2;

而不是

  

x.innerHTML + = a.value * 2;

答案 1 :(得分:0)

x.innerHTML = parseInt(x.innerHTML) + (parseInt(a.value) * 2);

答案 2 :(得分:0)

您需要使用parseInt转换为整数,否则它将执行字符串连接。

var x = document.getElementById("text");

var y = setInterval(counter, 1000);

function counter() {

 var a = document.getElementById("number");

 x.innerHTML = parseInt(x.innerHTML)+ a.value * 2;

}

答案 3 :(得分:0)

https://jsfiddle.net/53y250vL/7/

这将首先将输入字段中的数字应用到段落中,然后跳转到循环中以在循环中将其乘以2。

<input id="number" />

<p id="text">

</p>

<button id="counterButton">
Count
</button>
var x = document.getElementById("text");
function counter() {

    x.innerHTML = parseInt(x.innerHTML) * 2;

}


document.getElementById("counterButton").addEventListener('click', function() {

var a = document.getElementById("number");
x.innerHTML = a.value;

var y = setInterval(counter, 1000);
}, false);