0

重複の可能性:
Javascript: 0 ミリ秒での setInterval() の動作

setInterval の時間を 0 ミリ秒に設定するのに問題があるかどうかを聞きたいだけですか? パフォーマンスの問題はありますか? そして、例えば1000ミリ秒の方が良いでしょうか?

私はこのスクリプトを持っています:

var countdown_id = setInterval(function() {
    var now = (new Date()).getTime()-(2*60*60*1000);
    ;
    $('.product').each(function() {
        var elm = $(this).attr('id');
        var prod_id = $("#"+elm+" #hidden-"+elm).val();


        var expires = $('#date-end-' + prod_id).val()*1000;

        var seconds_remaining = Math.round((expires - now)/1000);

        var hours = FormatNumberLength(Math.floor(seconds_remaining/(60*60)), 2);
        var sec_remaining = seconds_remaining-(hours*60*60);
        var minutes = FormatNumberLength(Math.floor(sec_remaining/60), 2);
        var sec_remaining2 = sec_remaining-(minutes*60);
        var seconds = FormatNumberLength(sec_remaining2, 2);

        var timestr = hours + ":" + minutes + ":"+seconds;

        if (expires) {
            if (seconds_remaining > 0) {
                $('#'+elm+' .time_left div').text(timestr);
            }
            else {
                $(this).hide();
            }
        }
        $('#'+elm+' .time_left div').text(timestr);
    });
}, 0);

前もって感謝します!

4

2 に答える 2

1

時間が 0 ミリ秒に設定された setInterval を持つことが問題である場合は?

ブラウザが無視するため、間隔として0を設定することはできません。

パフォーマンスの問題はありますか? そして、例えば1000ミリ秒の方が良いでしょうか?

もちろん、可能であれば、1000 ミリ秒は 10 (ゼロではない) よりも優れています。
10 ミリ秒ごとに同じことを行うと、1000 ミリ秒ごとに同じことを 1 回だけ行うよりもコストがかかります。

于 2012-09-23T17:30:57.480 に答える
1

Javascript はマルチスレッドではなく、遅延実行でシミュレートするだけです。タイマーがタイムアウト間隔に達すると、他のすべての実行が一時停止され、指示されたコードが実行されます。このため、インターバルの短さに注意する必要があるかもしれません。注意しないと、おそらくブラウザが機能しなくなります。

于 2012-09-23T17:32:54.707 に答える