每秒更新一次计数导致大量内存问题

时间:2010-06-02 11:56:42

标签: jquery count counter intervals

就在我的本地计算机上,尝试运行以下脚本会导致计算机崩溃...我做错了什么?

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

我需要做的就是从var“count”中减去一个并每秒更新/显示它的值。

3 个答案:

答案 0 :(得分: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 );
 });

答案 1 :(得分:0)

除了count是一个字符串而不是一个数字之外,你还使用while(count> 0){setInterval ...}

生成了大量的Interval函数。

如果我理解,你应该检查计数> Interval函数内部为0,因为它每秒运行一次。

答案 2 :(得分:0)

您的setInterval位置错误。

它目前处于while循环体中,它将像计算机一样快地循环,并且每次触发函数以递增计数器。难怪它在吃资源。

您只需要调用一次setInterval。