幕布斯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秒更新一次元素到下一個元素,如果到達末尾,則將其重置為零。
添加回答
舉報
0/150
提交
取消