我正在為朋友制作一個生日快樂網站。我想在特定坐標處每 2 秒后將影像添加到 DOM。
我的腳本中有一個 setTimeout 函式,如下所示:
setTimeout(function(){
createBalloon();
}, 2000);
創建氣球功能如下:
function createBalloon() {
var colors = ["10vw","30vw","50vw","70vw", "90vw"];
var randColor = colors[Math.floor(Math.random() * colors.length)];
var img = document.createElement("img");
img.src = "balloon.jpg";
img.className = "balloon";
var div = document.getElementById("balloon-div");
div.appendChild(img);
img.style.position = "absolute";
img.style.top = "100vh";
img.style.left = randColor;
var balloonList = document.getElementsByClassName("balloon");
}
我已經準備好了所有東西......但是當我將 setTimeout 放在無限回圈中時,它會阻止頁面加載。
任何線索如何完成任務????
uj5u.com熱心網友回復:
使用 setInterval 函式代替它會觸發每個時間段。
setInterval(function () {
createBalloon();
}, 2000);
uj5u.com熱心網友回復:
setInterval 函式是完成任務的最佳方式......但另一種選擇是遞回:
function loop(){
createBalloon();
setTimeout(function(){
loop();
}, 2000);
}
loop(); // make sure it's the last line in your script
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/491812.html
標籤:javascript 无限循环
下一篇:如何根據重復鍵重建物件陣列?
