Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >循环setInterval函数

循环setInterval函数
EN

Stack Overflow用户
提问于 2013-05-23 20:01:06
回答 4查看 310关注 0票数 2

我不确定为什么间隔没有循环。我完全遵循了教程,但不是幸运。有什么建议吗?

代码语言:javascript
运行
AI代码解释
复制
$(document).ready(function(){
  setInterval(function() {
    $('.current').removeClass('current').next().addClass('current');  
    }, 2000);
});

更新:http://jsfiddle.net/pa7aU/3/

EN

回答 4

Stack Overflow用户

发布于 2013-05-23 20:05:42

代码语言:javascript
运行
AI代码解释
复制
$(document).ready(function () {
    var $li = $('ul li'), i = 0, l = $li.length;
    setInterval(function() {
        $li.removeClass('current').eq(i % l).addClass('current');
        i++;
    }, 2000);
});

http://jsfiddle.net/chg4J/

票数 2
EN

Stack Overflow用户

发布于 2013-05-23 20:05:16

当您到达最后一个元素时,您需要返回到开头,而不是使用.next()

代码语言:javascript
运行
AI代码解释
复制
$(document).ready(function () {
    setInterval(function () {
        var next = $('.current').removeClass('current').next();
        if (next.length == 0) {
            next = $("li:first");
        }
        next.addClass('current');
    }, 2000);
});

FIDDLE

票数 0
EN

Stack Overflow用户

发布于 2013-05-23 20:07:42

当你在最后一个li时,next()不会转到第一个。

一个简单的解决方法是在后面添加它:

代码语言:javascript
运行
AI代码解释
复制
if($('.current').length <= 0) $('li:first').addClass('current');

小提琴:http://jsfiddle.net/pa7aU/5/

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

https://stackoverflow.com/questions/16722851

复制
相关文章

相似问题

添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档