0

ローカル マシンで次のスクリプトを実行しようとすると、コンピュータがクラッシュします...何が間違っていますか?

            (function($) {
            var count = '6824756980';
            while (count > 0) {
                setInterval(function() {
                    $('#showcount').html(Math.floor(count-1));
                    count--;
                }, 1000 );
            }
        })(jQuery);

私がする必要があるのは、var「カウント」から1を減算し、その値を毎秒更新/表示することだけです。

4

3 に答える 3

4

あなたがしていることは、6824756980タイマーを設定することです-> BAD

ただする

 $(document).ready(function(){
    var count = 6824756980;
    var timerID = setInterval(function() {
             if(count > 0){
                $('#showcount').html(Math.floor(count-=1));
                count--;
             }
             else clearInterval(timerID);
    }, 1000 );
 });
于 2010-06-02T12:01:23.470 に答える
0

count が数値ではなく文字列であることに加えて、非常に多数の Interval 関数を while(count > 0) { setInterval ... } で生成しています。

私が理解していれば、毎秒実行されるため、Interval 関数内で count > 0 をチェックする必要があります。

于 2010-06-02T12:01:34.533 に答える
0

あなたsetIntervalは間違った場所にいます。

現在、これは while ループの本体にあります。このループは、コンピューターが処理できる速度でループし、関数を起動するたびにカウンターをインクリメントします。資源を食い尽くしているのも不思議ではありません。

setInterval を 1 回だけ呼び出す必要があります。

于 2010-06-02T12:04:44.937 に答える