2017-02-16 80 views
-1

我想使一個計時函數可以顯示倒計時。我是這樣做的。當時間結束它會clearInterval(timing)clearInterval函數外部

但我想能夠中斷倒計時功能和clearInterval(timing)

var timing = function(x,callback) { 
     var seconds = x; 
     var second = 1; 
     var timing; 

     $("#timing h1").text(seconds); 
     $("#timing").show(); 
     timing = setInterval(function() { 
      $("#timing h1").text(seconds - second); 
      if (second >= (seconds - second)) { 
       clearInterval(timing); 
       $("#timing").hide(); 
       callback(); 
      } 
      seconds--; 
     }, 1000); 
    } 

回答

1

您需要使_timing(重命名)變量全局變量。所以,下面的代碼應該可以工作:

var timing = function(x, callback) { 
    var seconds = x; 
    var second = 1; 
    $("#timing h1").text(seconds); 
    $("#timing").show(); 
    _timing = setInterval(function() { 
     $("#timing h1").text(seconds - second); 
     if (second >= (seconds - second)) { 
      clearInterval(_timing); 
      $("#timing").hide(); 
      callback(); 
     } 
     seconds--; 
    }, 1000); 
}