2015-11-01 63 views
4

我有一个倒计时运行,并点击按钮,我想停止倒计时。但它不工作。 这是我的代码如何停止在jquery中运行倒计时?

$(document).ready(function(){ 
var settimmer =1000; 
var $dash_url="<?php echo DASH_URL;?>"; 
$(function(){ 
      var $interval=setInterval(function() { 
       var timeCounter = settimmer; 
       var updateTime = eval(timeCounter)- eval(1); 
       if(updateTime => 0){ 
        settimmer=updateTime; 
        $('.redirect').css({"color":"#FFF"}); 
        $(".redirect").html('Redirecting You in '+settimmer+' Second'); 
       } 
       if(updateTime <= 0){ 
        clearInterval($interval); 
        window.location.replace($dash_url); 
        return false; 
       } 
      },1000); 

    }); 
    $('.stop_timer').click(function(){ 
     clearInterval($interval); 
    }); 

});

+0

我看到的第一个问题是,当你处理stop_timer点击时,你的$ interval变量超出了范围。 – MikeWu

回答

2

这会将您的$ interval变量放在正确的范围内。

$(document).ready(function(){ 
var settimmer =1000; 
var $dash_url="<?php echo DASH_URL;?>"; 
$(function(){ 
      var $interval=setInterval(function() { 
       var timeCounter = settimmer; 
       var updateTime = eval(timeCounter)- eval(1); 
       if(updateTime => 0){ 
        settimmer=updateTime; 
        $('.redirect').css({"color":"#FFF"}); 
        $(".redirect").html('Redirecting You in '+settimmer+' Second'); 
       } 
       if(updateTime <= 0){ 
        clearInterval($interval); 
        window.location.replace($dash_url); 
        return false; 
       } 
      },1000); 
      $('.stop_timer').click(function(){ 
       clearInterval($interval); 
      }); 
    }); 
}); 
+0

谢谢先生。它的工作。 –