0

我有一些带有 class = active 的单选按钮

  <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,但它不起作用。有人可以帮忙吗?

4

1 回答 1

2

您应该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/

于 2012-05-05T14:17:19.513 回答