在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML/ 無法修改成for循環(huán)來輪播

無法修改成for循環(huán)來輪播

寫了一個輪播,測試通過,有點丑。

function autoPlay(){
    var  myimg = document.getElementById("loopimg");
    if(myimg.src.match("i1.png")){
        myimg.src = "image/i2.png";
    }
    else if(myimg.src.match("i2.png")){
        myimg.src = "i3.jpg";
    }
    else if(myimg.src.match("i3.png")){
        myimg.src = "i4.jpg";
    }
    else if(myimg.src.match("i4.png")){
        myimg.src = "i5.jpg";
    }
    else{
        myimg.src = "image/i1.png";
    }
}

setInterval(autoPlay,1000)

改寫成數組形式也通過了。

var  imgs = ["image/i1.png","image/i2.png","image/i3.png","image/i4.png","image/i5.png"];
var  imgsIndex = 0;
function autoPlay(){
    if(index == imgs.length-1){
        imgsIndex = 0; 
    }
    var  myimg = document.getElementById("loopimg");
    myimg.src = imgs[imgsIndex];
    imgsIndex++;
}
setInterval(autoPlay,1000)

我的想法:改寫成for循環(huán)的輪播,每次循環(huán)的時候,sleep 一秒,
搜索了一下資料,發(fā)現js的sleep功能不太好實現。


請問,可否修改成for循環(huán)的輪播。
回答
編輯回答
命于你
var imgs = ["image/i1.png", "image/i2.png", "image/i3.png", "image/i4.png", "image/i5.png"];

function delay(n) {
  return new Promise(resolve => setTimeout(resolve, n))
}

async function autoPlay() {
  for (let img of imgs) {
    var myimg = document.getElementById("loopimg");
    myimg.src = img;
    await delay(1000)
  }
  autoPlay()
}
autoPlay()
2018年9月3日 21:18