为了账号安全,请及时绑定邮箱和手机立即绑定

显示一个元素5秒钟,然后隐藏并显示下一个元素

显示一个元素5秒钟,然后隐藏并显示下一个元素

幕布斯6054654 2021-05-05 17:37:50
到目前为止,这是我尝试过的方法,但是它只是一次显示所有元素:i1 = document.getElementById('img_1');i2 = document.getElementById('img_2');i3 = document.getElementById('img_3');i4 = document.getElementById('img_4');i5 = document.getElementById('img_5');myarr = [i1,i2,i3,i4,i5];    for (i=0; i<myarr.length;i++) {         $(myarr[i]).show().delay(5000).fadeOut();    } 
查看完整描述

3 回答

?
白衣染霜花

TA贡献1796条经验 获得超10个赞

我认为您正在尝试实现无止境的循环。


我认为您应该在这种情况下使用间隔,并对元素进行fadeOut / fadeIn。


i1 = document.getElementById('img_1');

i2 = document.getElementById('img_2');

i3 = document.getElementById('img_3');

i4 = document.getElementById('img_4');

i5 = document.getElementById('img_5');


let myarr = [i1, i2, i3, i4, i5];

let active = 1;


setInterval(() => {

  $(myarr[active - 1]).fadeOut(500)

  if (active >= myarr.length) {

    active = 0

  }

  setTimeout(() => {

    $(myarr[active]).fadeIn(500);

    active = active + 1;

  }, 500)

}, 5000)

这样做是每5秒更新一次元素到下一个元素,如果到达末尾,则将其重置为零。


查看完整回答
反对 回复 2021-05-20
  • 3 回答
  • 0 关注
  • 171 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信