此脚本从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.
答案 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;