0

我目前正忙于制作一个新网站。我想在我的网站上制作一个计数器,向访问者显示我制作了多少个网站。我目前正在使用 Javascript 和 jQuery 来执行此操作。唯一的问题是,在使用 for 循环时,结果显示非常快,我希望它慢慢计数。这是我到目前为止的代码:

$(document).ready(function() {

    var websites = 10;
    for (var i=0;i<websites;i++)
    {
        $('.webcounter').html(i);
    }
});

任何人都有让柜台变慢的想法?

4

4 回答 4

2

你可以试试这个:

var interval = window.setInterval(func, delay[, param1, param2, ...]);
于 2012-10-23T18:02:28.713 回答
1

使用setInterval

例子

HTML

​&lt;div class="websites">0</div>​​​​​​​​​​​​​​​​​​​​​​​​​​​

查询

$(document).ready(function() {
    var websites = 10;
    var counter = 1;
    var id = setInterval(function(){ 
        $('.websites').text(counter);
        counter++;
        if(counter > websites){ clearInterval(id);}
    }, 500);    
});​
于 2012-10-23T18:15:20.823 回答
1

只是一个快速的猜测,但尝试这样的事情(我在工作,无法测试自己,呵呵)

var websites = 10, tmrSiteCount;

function siteCount(i) {
    if (i <= websites) {
        $('.webcounter').html(i);
        tmrSiteCount = setTimeout(function() { siteCount(i++); }, 1000);
    }
    else {
        clearTimeout(tmrSiteCount);
    };
}

$(document).ready(function() {
    tmrSiteCount = setTimeout(function() { siteCount(1); });
})
于 2012-10-23T18:02:30.183 回答
1

此计时器以秒为单位工作,您可以在 else 部分中将代码运行完成后运行:

Javascript

function countdown(count){

    $('.webcounter').html(count);

    count -= 1;

    if(count >= 0)
        setTimeout("countdown("+count+")", 1000);
    else
        alert("Countdown Complete");
}

$(document).ready(function() {

    countdown(10);
}

HTML

<div class="webcounter">Webcounter Holder</div>​

演示

http://jsfiddle.net/silver89/SBXAQ/8/

于 2012-10-23T18:06:26.673 回答