Javascript计数不起作用:加倍而不是加起来

时间:2013-10-21 00:45:43

标签: javascript

看我的例子。脚本应该将变量设置为零,然后每秒加1。相反,该值每秒加倍。任何人都知道出了什么问题?

http://jsfiddle.net/kdKyz/

<script>
function count_it()
  {
    window.counts = window.counts+1;
    $('.result').html(window.counts);
    window.setInterval(count_it, 1000);
  }
$('document').ready(function(){
  window.counts = 0;
  count_it();      
});
</script>

2 个答案:

答案 0 :(得分:3)

count_it()不断调用setInterval()作为参数,因此不断加倍。您需要将count_it()中的ready()替换为window.setInterval(count_it, 1000),并从window.setInterval(count_it, 1000)中删除count_it()

答案 1 :(得分:1)

setInterval()每1000毫秒调用传入的函数,直到您调用clearInterval()。您可以选择切换为setTimeout(),每次拨打setTimeout()时只调用传入的功能一次,或者setInterval()功能只调用一次ready并从count_it删除来电。