2017-02-25 16 views
1

私は、AJAXes要求を10秒ごとに(しかし、技術的には11)、ユーザーのためのスクリプトを持っています。私は10から0まで、そして何度も繰り返す単純なカウントダウンをしています。JS <(より小さい)演算子が失敗する

ここ

を再起動するために、各AJAX要求が私のコードされた後、このcountit関数が呼び出されます。

function countit() { 
    var count = 10; 
    loading = setInterval(function() { 
    $(box).val("Will automatically check in " + count + "second(s), please DO NOT refresh the page yourself."); 
    count--; 
    if (count <= 0) { 
     clearInterval(loading); 
    } 

    }, 1000); 
} 

ページを離れ、戻ってきた場合、カウントダウンがに進み、以外のコードが正常に動作します否定的であり、止まらない。ここではイメージがある:これは、ユーザーがページにとどまるとき0を下回るdoesntのコードやJSが、カウンターに問題がある場合、私は必ずカント

enter image description here

。イブラヒム&クリスとして

+0

「カウント」を何回呼び出しますか?なぜなら、複数回呼び出すと、 'load'がグローバル変数であるため、最後のものだけが停止するからです!または、他の場所にある 'loading'の値を変更すると、問題が発生します! –

+0

これを安全に変更するには、 'loading = setIn ...'これを 'var loading = setIn ...'! –

+0

これは私のコンソールでは起こりません。それは1秒のメッセージで止まる –

答えて

1

は言った:、変数がグローバルであることのないよう

インターバルのVaRのインフロントを追加します。

function countit() { 
    var count = 10; 
    var loading = setInterval(function() { 
     $(box).val("Will automatically check in " + count + "second(s), please DO NOT refresh the page yourself."); 
     count--; 
     if (count <= 0) { 
      clearInterval(loading); 
     } 
    }, 1000); 
} 
関連する問題