Javascript 在jquery中,如何循环每个div,并显示每个div 10秒钟,然后隐藏 苹果公司 浆果 樱桃 $(文档).ready(函数(){ $(a).隐藏; $(b)隐藏; $(c)隐藏; var arr=[“a”、“b”、“c”]; var i; 对于(i=0;i{ if(prevDiv){ prevDiv.classList.remove('active'); prevDiv.classList.add('hide'); } i=i

Javascript 在jquery中,如何循环每个div,并显示每个div 10秒钟,然后隐藏 苹果公司 浆果 樱桃 $(文档).ready(函数(){ $(a).隐藏; $(b)隐藏; $(c)隐藏; var arr=[“a”、“b”、“c”]; var i; 对于(i=0;i{ if(prevDiv){ prevDiv.classList.remove('active'); prevDiv.classList.add('hide'); } i=i,javascript,jquery,Javascript,Jquery,步骤: 隐藏所有div。 循环10次。 显示每个div 10秒钟,然后隐藏 在本例中,有3个div。可能会有更多或更少的div。因此,我想需要某种数组。获取所有div,在promise中使用setTimeOut并在指定时间完成后解析promise 在setTimeout内部,保存一个索引变量i,该变量将循环div,一旦其值小于div的长度(从第一个div开始循环),就将i索引设置为0 让prevDiv=null; const divs=document.queryselectoral('div

步骤: 隐藏所有div。 循环10次。 显示每个div 10秒钟,然后隐藏


在本例中,有3个div。可能会有更多或更少的div。因此,我想需要某种数组。

获取所有div,在promise中使用
setTimeOut
并在指定时间完成后解析promise

setTimeout
内部,保存一个索引变量
i
,该变量将循环
div
,一旦其值小于div的长度(从第一个div开始循环),就将
i
索引设置为
0

让prevDiv=null;
const divs=document.queryselectoral('div');
常量长度=divs.length;
设i=0;
常数延迟=函数(){
返回新承诺((解决)=>{
设置超时(()=>{
if(prevDiv){
prevDiv.classList.remove('active');
prevDiv.classList.add('hide');
}
i=i
.active{
显示:块;
}
.隐藏{
显示:无;
}
苹果公司 浆果 Cherry
试试看(我已将时间缩短到2秒。)

var arrIds=[“a”、“b”、“c”];
$(文档).ready(函数(){
setInterval(函数(){
showAll();
设置超时(hideAll,1*1000);
}, 2*1000);
});
函数showAll(){
arrIds.forEach(函数(e){
$('#'+e).removeClass('hidden');
});
}
函数hideAll(){
arrIds.forEach(函数(e){
$('#'+e).addClass('hidden');
});
}
。隐藏{
显示:无;
}

起动。
苹果
浆果

Cherry
请发布您目前尝试的代码?循环需要无限大还是只运行一次?
<div id='a'> Apple </div>
<div id='b'> Berry </div>
<div id='c'> Cherry </div>

$(document).ready(function () {
    $(#a).hide;
    $(#b).hide;
    $(#c).hide;

    var arr = ["a", "b", "c"];
    var i;
    for (i = 0; i < 10; i++) {
        for (j = 0; j < arr.length; i++) {
            setInterval(function(){ arr[j].show(); }, 10 * 1000);
            arr[j].hide();
        }                
    }
});