更改倒数以计数

时间:2013-06-25 09:38:59

标签: javascript counter countdown

此脚本从60倒数到0,并在达到0时停止。

<script type="text/javascript">                         
var counttx= "60";
var counterrx=setInterval(timerrx, 1000); //1000 will  run it every 1 second

function timerrx()
{
 counttx=counttx-1;
if (counttx < 0)
{
 clearInterval(counterrx);
 return;
}

document.getElementById("timerrx").innerHTML=counttx; // watch for spelling
}
</script>

我希望脚本能够计数,而不是倒计时。我在-中将+更改为counttx=counttx-1;,但随后又发生了以下情况:

60
601
6011
60111
etc.

5 个答案:

答案 0 :(得分:2)

看起来counttx是一个字符串,javascript附加'1'。尝试:

counttx = +counttx + 1;

编辑:或者只删除var语句中的引号:

var counttx = 60;

答案 1 :(得分:0)

如果-运算符的一个操作数是字符串而另一个是数字JS,则将字符串转换为数字。这就是为什么倒计时工作即使counttx是字符串。但是当+的一个操作数是字符串而另一个是数字JS时,将数字转换为字符串并进行字符串连接。因此,你得到601,6011等而不是数数。要解决此问题,您可以将counttx声明为整数。

var counttx = 60;

答案 2 :(得分:0)

var countxx="60";

中删除引号

将其写为

var countxx=60;

然后将其更改为

counttx=counttx+1;

当你提到引号中的值时,它会将其视为字符串,只是将值附加1,这就是你获得601,6011等的原因。

答案 3 :(得分:0)

你想数从0到60吗?如果是这样,请在脚本中交换60和0,并将此行counttx = counttx + 1;更改为counttx = counttx - 1。还要摆脱60左右的double quotes

答案 4 :(得分:0)

首先需要将var解析为整数然后递增。使用counttx = parseInt(counttx)+ 1;