Javascript 将倒计时改为倒计时
此脚本从60倒计时到0,并在达到0时停止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
<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;