重新启动 Jquery setInterval 并重置所有 var

restart Jquery setInterval and reset all vars

本文关键字:var Jquery setInterval 重新启动      更新时间:2023-09-26

我有一些单选按钮,类=活动

  <div id="radioset1">
   <input type="radio" class="active" id="radio1" name="radio" />
   <input type="radio" class="active" id="radio2" name="radio" />
   <input type="radio" class="active" id="radio3" name="radio" />
  </div>
  <div id="counter_up">xy</div>

我想在div"counter_up"中添加一个计时器,以显示单选按钮的最后一次更改时间。

因此,我添加了一些jquery代码,如下所示:

  $('.active').click(function() {
    clearInterval(myInterval);
    var counter = 0;
    var myInterval = setInterval(function() {
      ++counter;
      $('#counter_up').html('Aktiv seit ' + counter + ' Sekunden');
    },1000);
 });

我的代码正在工作,所以当我第一次单击其中一个单选按钮时一切正常。

问题是,当我单击另一个单选按钮时,VaR 计数器不以 0 开头。

我尝试使用delete var和clearInterval,但它不起作用。有人可以帮忙吗?

您应该全局设置myInterval并稍微重组代码以使其从0计数:

var myInterval = null;
$('.active').click(function() {
    clearInterval(myInterval);
    var counter = 0;
    var timer = function() {
        $('#counter_up').html('Aktiv seit ' + (counter++) + ' Sekunden');
    };
    timer();
    myInterval = setInterval(timer, 1000);
});​

演示:http://jsfiddle.net/x3Z6C/