1

在这个代码片段中,我想减少(跳过)第一个元素的时间,因为它需要很长时间才能出现在屏幕上(10000),这可能吗?!

$(document).ready(
    function()
    {
        var i = 0;
        setInterval(
        function() {
             $('.handler').html(i + "<br />");
             i = (++i) % 3;
        }
        , 10000);
    }
);

这段代码的结果:

screen empty
1
2
3
1
2
3
and so on ...

感谢@aTo

4

2 回答 2

2

将您的代码放在一个函数中,在页面加载时运行该函数,然后使用间隔每十秒运行一次该函数:

$(function() {
    var i = 0;

    go();
    setInterval(go, 10000);

    function go() {
       $('.handler').html(i + "<br />");
       i = (++i) % 3;
    }
});
于 2012-09-29T20:33:45.513 回答
2

最简单的做法是先声明计时器函数,然后在启动之前只调用一次setInterval

var i = 0;
function timer() {
     $('.handler').html(i + "<br />");
     i = (i + 1) % 3;
}

timer();
setInterval(timer, 10000);
于 2012-09-29T20:34:06.190 回答