今天做了一个倒计时的案例,代码如下:
function clock() { var nowTime = new Date(); var endTime = new Date("2019/5/23 14:51:00"); var now = nowTime.getTime(); var end = endTime.getTime(); var time = end - now; var seconds = time/1000; if (seconds > 0){ var hour = Math.floor(seconds/3600); var minute = Math.floor(seconds600 / 60); var second = Math.floor(seconds`); my$("box").innerText = bu(hour)+":"+bu(minute)+":"+bu(second); }else{ my$("box").innerText = "下课了!"; clearInterval(timeId); } } clock(); var timeId = setInterval(clock(),1000);这段代码输出的时候函数只执行了一次,计时器的效果没有,经过几次的检查发现是计时器中参数问题,var timeId = setInterval(clock(),1000) 中第一个参数此时添加的clock()的值是函数的返回值,因为clock()中没有返回值,所以才出问题,改为var timeId = setInterval(clock,1000) 就解决了
