2013-08-30 48 views
-1

我寫了一個簡單的代碼來計數並顯示循環中計數的數字。
但它不起作用。 :(如何使用setInterval從0到10進行計數

請告訴我我的問題。

TNX

<html> 
<head> 
    <script type="text/javascript" src="jquery-1.9.1.min.js"></script> 
    <script type="text/javascript"> 
     $(document).ready(function(){ 
      function myCount() { 
       var count = 0; 
       if (count == 0) { 
        count += 1; 
       } else if (count > 10) { 
        count = 0; 
       } 
       $('.count').text(count); 
      } 
      setInterval(myCount(),200); 
     });   

    </script> 
</head> 
<body> 
    <p>Count form 0 to 10: <span class="count"></span></p> 
</body> 
</html> 
+2

*提出了拳頭, 「零」。是的,它在零。加一個。設置回零。是的,它是零。加一個。設置回零。 (重複幾個小時...)* –

回答

2

請參閱下面的代碼和小提琴在這裏評論:http://jsfiddle.net/dRMrL/

 $(document).ready(function(){ 

    // someone already explained why count has to be declared outside the function 
      var count = 0; 

      function myCount() { 

    // your original if-else wasn't allowing count to increment past 1 
      if (count > 10) { 
       count = 0; 
      } 

      $('.count').text(count); 

    // increment count regardless of its current value 
      count ++; 

     } 

    setInterval(myCount,500); 

    }); 
1

把你的變量count功能外,否則你重新創建變量,將永遠是0開始你的功能時。

$(document).ready(function() { 
    var count = 0; 

    function myCount() { 
     if (count == 0) { 
      count += 1; 
     } else if (count > 10) { 
      count = 0; 
     } 
     $('.count').text(count); 
    } 
    setInterval(myCount, 200); 
}); 
1

您每次調用函數時都將count設置爲0,因此在函數的sco之外聲明計數PE。

$(document).ready(function(){ 
    var count = 0; 
    function myCount() { 
    if (count == 0) { 
     count += 1; 
    } else if (count > 10) { 
     count = 0; 
    } 
    $('.count').text(count); 
    } 
    setInterval(myCount,200); 
});   
+2

'setInterval(myCount(),200);'應該'setInterval(myCount,200);' –

+0

我改變了代碼,就像上面一樣。但它停在1.:| –