javascript 一个接一个地循环项目

javascript loop items after each other

我试图让 3 张图片并排放置,当页面加载时,每张图片依次淡入淡出,然后重复。我尝试为每张图片创建一个包含 class 数组的循环。

问题是它们同时淡入淡出。

如有任何帮助,我们将不胜感激。

代码如下:

<script>

    $('.pic').css('opacity', 0.6);

    var picName = ["mic", "guitar", "drums"];

    for (var i=0; i<picName.length; i++) {
        $("."+picName[i]).fadeTo('slow', 1).delay( 1000 ).fadeTo('slow', 0.6);
        $("."+picName[i]).delay( 1000 );
    }

您总是将延迟设置为 1000。您必须将此值乘以 i

var picNames

$(function() {
  picNames = $('#images > div');
  picNames.css('opacity', 0.6);
  imageFlash(0);
});


function imageFlash(i) {
  picNames.eq(i).fadeTo('slow', 1).delay(1000).fadeTo('slow', 0.6);
  i++;
  if (i >= picNames.length) i = 0;
  setTimeout("imageFlash(" + i + ")", 1000);
}
#images { white-space: nowrap; }
#images > div { display: inline-block; width: 120px; height: 120px; background: green; margin: 4px; }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="images">
  <div></div>
  <div></div>
  <div></div>
  <div></div>
</div>

感谢 Christopher 的所有帮助,因为我是 javascript 的新手。这是我必须按照自己的意愿工作的最终代码。

$('.pic').css('opacity', 0.6);

    var picName = ["mic", "guitar", "drums"];

    setInterval(fadingPics, 9000);

    function fadingPics() {
        for (var i=0; i<picName.length; i++) {
            $("."+picName[i]).delay( 1000*i*3 ).fadeTo(1000, 1).delay( 1000 ).fadeTo(1000, 0.6);
        };
    };