javascript - 选择下一个元素轮播

标签 javascript jquery html

我有一个 DIV 列表,我希望每隔 X 秒使用 setTimeout 获取下一个 div 并将显示设置为阻塞,而对于其他的则不显示,我该怎么做?有人可以给我举个例子吗?

如何让它变得无限,当到达最后一个时又从第一个开始。

我知道这是一种轮播,但我也想看看它是如何完成的。

最佳答案

有很多方法可以做到这一点,但这里有一种方法:http://jsfiddle.net/jfriend00/Yr3NV/

HTML:

<div id="container">
    <div class="item active">1111</div>
    <div class="item">2222</div>
    <div class="item">3333</div>
    <div class="item">4444</div>
    <div class="item">5555</div>
    <div class="item">6666</div>
    <div class="item">7777</div>
</div>

代码:

setInterval(function() {
    var next = $("#container .active").removeClass("active").next();
    if (next.length == 0) {
        next = $("#container .item:first");
    }
    next.addClass("active");
}, 1000);

CSS:

.item {display: none;}
.item.active {display: block;}

使用添加/删除类的方法可以让您通过 CSS 进行更多的样式控制,而不是将样式编码到您的 javascript 中,并且避免使用任何全局变量或闭包变量来保持状态。

关于javascript - 选择下一个元素轮播,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8610750/

相关文章:

javascript - 为什么将 Buefy 导入我的 Vuejs 元素会使 <h1> 标签和某些 Bootstrap 元素显示错误的样式?

javascript - iOS 上的语言环境比较

javascript - 当修饰符选项为 true 时,验证对象必须至少有一个运算符 - 集合 2 包 - Meteor

javascript - html radio onchange 事件不会触发?

javascript - 使用 jQuery 克隆文本区域时如何防止克隆值

html - img-circle 超出边距

javascript - 找到最后出现过DOM html的元素

javascript - 如何在 javascript 中迭代数组,在循环 block 内使用 promise 并等待所有 promise 完成以继续

javascript - 尝试显示提示,直到使用 Javascript 输入正确的条目

javascript - jQuery 根据下拉信息显示信息