Javascript 更改div时间 #主要部门{ 显示:无; } 第一 第二 第三 var divElems=[].slice.call(document.queryselectoral(“#main div”), main=document.querySelector('#main'),i=0; setInterval(函数f(){ var项目=divElems[i%divElems.length]; item.style.display='block'; i++; }, 3000);

Javascript 更改div时间 #主要部门{ 显示:无; } 第一 第二 第三 var divElems=[].slice.call(document.queryselectoral(“#main div”), main=document.querySelector('#main'),i=0; setInterval(函数f(){ var项目=divElems[i%divElems.length]; item.style.display='block'; i++; }, 3000);,javascript,Javascript,您能告诉我如何在不停车的情况下让Inner#main出现在队列中吗?最初,它们是隐藏的 元素第一、第二和第三应按顺序出现,每3秒一次 <style> #main div { display: none; } </style> <div id="main"> <div>first</div> <div>second</div> <div>

您能告诉我如何在不停车的情况下让Inner#main出现在队列中吗?最初,它们是隐藏的

元素第一、第二和第三应按顺序出现,每3秒一次

  <style>
    #main div {
      display: none;
    }
  </style>

  <div id="main">
    <div>first</div>
    <div>second</div>
    <div>third</div>
  </div>

  <script>
    var divElems = [].slice.call(document.querySelectorAll('#main div')),
        main = document.querySelector('#main'), i = 0;


    setInterval(function f() {
      var item = divElems[i % divElems.length];
      item.style.display = 'block';
      i++;
    }, 3000);
  </script>
首先显示一个块
第一
那么
第二
然后
第三

在您的评论之后,我再次更新了我的答案


你能给我们解释一下与此相比它应该是什么吗:?元素第一、第二和第三应该按顺序出现,每3秒首先显示一个块
,然后是第二个,然后是第三个
@AleksandrAleksandrov,但它已经显示了。所以您需要以下顺序:
第一个
->
第三个
->
第二个
,对吗?如果您将
第四个
第五个
添加到组合中,您希望它的顺序是什么?这应该是可伸缩的还是始终使用3个分隔符?您不理解这个问题。我们需要先显示第一个区块,然后再显示第二个区块,然后再显示第二个区块,而不是第二个区块。@AleksandrAleksandrov更新了我的答案。这就是你要找的吗?
First shows a block
<div>first</div>
then instead
<div>second</div>
and then
<div>third</div>
var divElems = [].slice.call(document.querySelectorAll('#main div')),
main = document.querySelector('#main'),
i = 0;

divElems[0].style.display = 'block';

setInterval(function f() {
    var item = divElems[i % divElems.length];
    item.style.display = 'none';
    i++;
    item = divElems[i % divElems.length];
    item.style.display = 'block';
}, 3000);