首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >停止和启动setInterval()

停止和启动setInterval()
EN

Stack Overflow用户
提问于 2013-10-03 21:56:47
回答 1查看 96关注 0票数 0

我试图停止一个循环,这样其他东西就可以运行了,然后在序列中的正确时间再次返回到循环。我的代码运行了一次,但在我使用clearInterval();之后似乎无法运行

代码语言:javascript
复制
function runPlanner() {

    var plannerInterval = setInterval(function(){

        imageCounter++;

        var imageTotal = $('li img').length;

        if (imageCounter > imageTotal + 1) {
            $('li img').hide();
            imageCounter = 0;
            clearInterval(plannerInterval);
        } else {
            $('li img:nth-child(' + imageCounter +')').fadeIn('slow');
        }

        console.log('image counter:',imageCounter);
        console.log('image total:',imageTotal);
    }, 2500);

}

然后我可以开始运行这个程序,使用以下命令:

代码语言:javascript
复制
runPlanner();

但是如果满足条件,在调用clearInterval的地方,则使用该函数调用不起作用。有什么想法吗?

EN

回答 1

Stack Overflow用户

发布于 2013-10-03 22:10:33

尝试使用setTimeout样式。这样你就不会再有clearInterval的问题了。

就像这样。

代码语言:javascript
复制
function runPlanner() {

        imageCounter++;

        var imageTotal = $('li img').length;

        if (imageCounter > imageTotal + 1) {
            $('li img').hide();
            imageCounter = 0;
        } else {
            $('li img:nth-child(' + imageCounter +')').fadeIn('slow');

            // re-called `runPlanner` after 2500 sec
            setTimeout(runPlanner, 2500);
        }

        console.log('image counter:',imageCounter);
        console.log('image total:',imageTotal);

}

runPlanner();
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19161162

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档