2012-03-13 68 views
0

我試圖用setInterval來計算剩下的時間,這裏是我的腳本:的setInterval的Javascript MVC2

var intervalID; 
     function StartTimer() { 
      var intervalID = setInterval(function() { 
       var settimmer = 100; // $('#timeleft').val(); 
       var seconds = 0; 
       seconds++; 
       if (seconds >= 60) { 
        settimmer--; 
        seconds = 0; 
        $('#timeleft').val(settimmer); 
       } 
      }, 1000); 
     } 
     function StopTimer() { 
      clearInterval(intervalID); 
     } 

<input type="text" size="8" id="timeleft" name="timeleft" value="100" /> 
    <button onclick="StartTimer();"> 
     start</button> 
    <button onclick="StopTimer();"> 
     Stop</button> 

我不工作,但是當我使用下面的腳本,它的工作原理,但不知道如何停止它:

var settimmer = 100; 
    var seconds = 0; 
    $(function() { 

      window.setInterval(function() { 
       seconds++; 
       if (seconds >= 60) { 
        settimmer--; 
        seconds = 0; 
        $('#timeleft').val(settimmer); 
       } 

      }, 1000); 

    }); 

在此先感謝。

回答

0

您在StartTimer()函數中重新聲明瞭intervalID,刪除了var

+0

非常感謝你 – hncl 2012-03-13 03:34:12

0

問題是變量的範圍。您在函數StartTimer中重新聲明瞭intervalID,它將覆蓋全局變量'intervalID',並且僅在此函數中使用。實際上,外部變量'intervalID'是不重要的。 所以當你使用clearInterval(intervalID)時,它當然不起作用。