Javascript 将倒计时改为倒计时

Javascript 将倒计时改为倒计时,javascript,counter,countdown,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) { clear

此脚本从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是一个字符串,javascript追加了“1”。尝试:

counttx = +counttx + 1;
编辑:或仅删除var语句中的引号:

var counttx = 60;

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

var counttx = 60;

var countxx=“60”
中删除引号

写成

var countxx=60;
然后把它改成

counttx=counttx+1;

当您在引号中提到值时,它会将其视为字符串,只在值后面加上1,这就是您得到601、6011等的原因。

您想从0数到60吗?如果是这样,则交换脚本中的60和0,并更改此行
counttx=counttx+1
counttx=counttx-1
。另外,要去掉60左右的双引号。

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

counttx=counttx+1;