1

私のページには、次のコードを使用しているカウンターがあります。

$(window).scroll(function(){    
if ($(window).scrollTop() > 1400) {
    var max = 67;
    incCounter();
    $('#counter').fadeIn(800);
    }

    function incCounter() {
      var currCount = parseInt($('#counter').html());
      $('#counter').html(currCount+1);
      if (currCount+1 != max) {
        setTimeout(incCounter, 20);
      }
}
}

0 から開始し、最大値で停止することなく継続します。そうするにはどうすればよいですか?

4

2 に答える 2

2

jsFiddle デモ

問題は、値が一致することがわかった場合でも、カウンターをインクリメントし続けたことです。次のように、関数を少し再編成する必要があります。

function incCounter() {
  var currCount = parseInt($('#counter').html());
  if (currCount != max) {
    $('#counter').html(currCount+1);//only increment when possible
    setTimeout(incCounter, 20);
  }
}
于 2013-04-07T23:27:52.070 に答える