2012-03-13 8 views
0

私は自分のコードにカウントアップタイマーを追加しようとしています。私の現在のコードはカウントダウンし、タイマーが0になった後、divにニュース情報を表示します。この全プロセスは、ページが閉じられるまで続きますが、停止機能を追加したいと思います。つまり、このコードがカウントアップタイマーを使用して10回実行されると、それは完全に停止します。私は変数sessionでそれをやろうとしましたが、1から10までカウントアップしませんでした。それは0から始まり、次にランダムに67になり、次に210 425などにジャンプします。このカウントを1から10までカウントアップしてから、スクリプトを停止するにはどうすればよいですか?はタイマー統合をカウントアップします

var cycle = 0; 
var session = 0; 

function countdown() { 
    var min = 60 * 10; 
    var max = 60 * 30; 
    return Math.floor(Math.random() * max) + min; 
} 

function search() { 
    $.getJSON('terms.php?json', function(data) { 
     $('#news_updates').attr("src", data); 
    }); 
} 


function update() { 
    if (session === 10) { 
     alert("done"); 
    } 
    if (cycle === 0) { 
     cycle = countdown(); 
     search(); 
     $('#countdown').html('<img src="loading.gif" alt="loading picture"/>'); 
     $('#countup').html(session); 

    } else { 
     var minutes = Math.floor(cycle/60); 
     var seconds = (cycle % 60); 

     if (seconds < 10) { 
      seconds = "0" + seconds; 
     } 

     $('#countdown').html(minutes + ':' + seconds); 
     cycle--; 
    } 
    session++; 
    setTimeout('update()', 1000); 
} 

答えて

0

の代わりに:

setTimeout('update()', 1000); 

これを試してみてください。

setTimeout(update, 1000); 

は、ここでは、この部分のためにjsFiddleです:

また、if(session === 0) { ... }にリターンを追加しました。別のsetTimerを実行しないでください。

+0

これを見ていただきありがとうございます:)カウントダウン秒が「10」に達すると、警告が表示されますが、0に完全にカウントダウンするのではなく、問題があります。 0? – jeff

+0

@jeffこれがあなたの望むものなのかどうか分かりませんが、これをチェックしてください:http://jsfiddle.net/kt2dd/1/ –

+0

あなたはプロです!!!ありがとうございました。私が探していたものをありがとう。 – jeff

関連する問題