javascript - 根据图像数量为 JavaScript 计时器循环设置计数器

标签 javascript jquery setinterval

我想要做的是将每个 BannerImg 元素设置为显示:使用计时器设置一次不显示一个。然后,一旦我循环遍历了所有 BannerImg 元素,我想将它们重置为 display: block。它基本上就像我正在尝试制作的图像旋转器......但现在,我不确定如何一次定位每个 BannerImg 元素 - 我一次将它们全部定位,这不是我想要的想做。

jQuery.noConflict();

(function($) {
    $(document).ready(function() {
        var BannerCount = $('BannerImg').length;

        var intervalID = window.setInterval(function() {

           $('.BannerImg').toggleClass("HideBannerImg"); 

          }, 2000);

    });

}(jQuery));

最佳答案

使用.eq(index) 。您可能需要缓存您的集合以使其更快:

(function($) {
    $(document).ready(function() {
        var $banners = $('.BannerImg'); 
        var index = 0;
        var intervalID = window.setInterval(function() {
           $banners.eq(index).toggleClass("HideBannerImg");
           index++;
           // Check to see if we've hit the end of the collection
           // If so, stop the interval.
           if (index === $banners.length) {
               clearInterval(intervalID);
           }
        }, 2000);
    });    
}(jQuery));

关于javascript - 根据图像数量为 JavaScript 计时器循环设置计数器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30492541/

相关文章:

javascript - JQuery 和 Cookie : How to remove them when user leaves the page or exit window/tab

javascript - 使用 JS 更改 Wordpress 站点上的按钮

java - jQuery 不执行 servlet doGet

javascript - Bootstrap - 警报错误不起作用

javascript - Uncaught Error : No define call for reveal

javascript - 如何在 Firefox 扩展中使用 nsITimer?

javascript - 如何从谷歌图表中删除规范/符号?

javascript - 对象字面量和静态变量

jQuery setInterval/悬停 : it works once, 但随后停止 setInterval

Javascript - setTimeout/setInterval 在函数之前执行倒计时