簡體   English   中英

我在這里做錯了嗎?

[英]Am I doing something wrong here?

如果我的問題非常模糊,我很抱歉,因為我對編碼和提出編碼問題非常非常陌生,但我希望有人理解我的問題,因為這非常令人沮喪,因為沒有出現錯誤消息但我不知道我做錯了什么。

因此,對於上下文,我有一個數組編號洗牌器。

let numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];

function shuffle(o) {
  for (let j, x, i = o.length; i; j = parseInt(Math.random() * i), x = o[--i], o[i] = o[j], o[j] = x);
  return o;
};
let random = shuffle(numbers);

我試圖制作一個不重復的隨機數生成器,我將使用這些數字生成與該數字相關的隨機圖像。 所以我將第一張圖片設置為隨機的第一個索引

let setImgUrl = "img" + random[0] + ".jpg";

現在我想制作一個按鈕,將其轉換為 random[1] 作為切換到下一個隨機圖像的一種方式。

let calcNewImg;
if (random[0]) {
  calcNewImg = random[1]
} else if (random[1]) {
  calcNewImg = random[2]
}

它會一直重復到 random[9] (這是最后一個索引)並且圖像看起來像這樣

Img.setAttribute("src", "img/img" + calcNewImg + ".jpg");

當我單擊按鈕切換到下一個圖像時,它工作一次,並且在任何其他時間都不起作用,沒有錯誤消息。 希望我提供了足夠的信息,有人可以理解,如果需要,請隨時詢問更多信息。 我真的很感激這個幫助。

我認為你需要的是一個無限循環來生成像這樣的圖像 ID

 button=document.getElementById("button") showimg=document.getElementById("showimg") button.addEventListener("click",getimg) let numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; function shuffle(o) { for(let j, x, i = o.length; i; j = parseInt(Math.random() * i), x = o[--i], o[i] = o[j], o[j] = x); return o; }; let random = shuffle(numbers); var i=0 function getimg(){ calcNewImg = random[i] i++ if(i>=random.length){ i=0 } showimg.textContent= "img/img" + calcNewImg + ".jpg" }
 <,DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width. initial-scale=1.0"> <title>Document</title> </head> <body> <div id="showimg">###</div> <br> <button id="button">generate</button> </body> </html>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM