慕移动7500465
2016-01-04 20:54
这自带的编译器是不是也有问题啊,前面那个setInterval/clearInterval 和现在的setTimeout ,都有问题,这个计数忽快忽慢的,
如果你只做一次点击的话是没有问题的,然而当你做了多次点击后,那么就会存在多个定时器,会造成多个函数被执行,num的值也会在1s内变化多次(与你的点击次数有关),解决这个问题的思路是清除原来的定时器!
思路如下:
<script type="text/javascript"> var num=0; var t; function startCount() { if(t) { clearTimeout(t); } document.getElementById('count').value=num; num=num+1; console.log(num); t = setTimeout("startCount()",1000); } </script>
换个地方测试
JavaScript进阶篇
468191 学习 · 21891 问题
相似问题