Home > Blockchain >  Adding array result to a string
Adding array result to a string

Time:11-13

This is a little script randomizing what picture should it display. I can easily set this to an <img> using document.getElementById("pic").src = randPics[randNumGen], but the background tag requires me to use url(). How can I set document.body.style.background to "url(and the random image here)"? Please no JS libraries.

const randPics = ["https://i.ibb.co/6JBbMYm/pic1.jpg", "https://i.ibb.co/rHjTdfc/pic2.jpg"];

window.onload = choosePicture();

function choosePicture() {
  let randNumGen = Math.floor(Math.random() * randPics.length);
  console.log(randNumGen);
  document.body.style.background = "randPics[randNumGen]";
}
<!DOCTYPE html>
<html>

<head>
  <link rel="stylesheet" href="styles.css">
  <script async src="index.js" type="text/javascript"></script>
</head>

<body>
  <img width="500px" src="#" alt="pic" id="pic">
</body>

</html>
<iframe name="sif1" sandbox="allow-forms allow-modals allow-scripts" frameborder="0"></iframe>

CodePudding user response:

var url = randPics[randNumGen];

document.body.style.backgroundImage = "url('"  url   "')";
  • Related