JS:
function getItem() {
var rand = Math.floor((Math.random() * 110) + 1);
Weapon = "Opening..."
document.getElementById("Weapon").innerHTML = Weapon;
if (rand < 3) {
document.getElementById("Weapon").innerHTML = "Item Type One";
} else if (rand > 2 && rand < 5) {
document.getElementById("Weapon").innerHTML = "Item Type Two";
}
// Continues onward etc...
}
HTML:
<button onclick="getItem()">Get Item</button> <span id="image"><!-- Display an image here? --></span> You Unboxed: <span id="Weapon">Nothing</span>
I was wondering if it would be possible to also set the source of an image in this HTML from my Javascript code. So if I get “Item One” it will display that image in my HTML?
Advertisement
Answer
You just need to create an array containing the paths to your images such as
var images = ["image1.png", "image2.png"]
Then get a reference to your image element, then set its source to the image in the array accordingly
myImage.src = images[0] for example
Edit:
So you said you have an array of images like this
var images = ["stub.png", "Other.png"];
I see that you are using a <span> to display your images. So you need to get a reference to that <span> element.
var myImage = document.getElementById("weapon");
Since you are using a <span> element to display your image, not a <img>, so to show your image, you do this
myImage.style.backroundImage = url(images[n]); with n being the image index corresponding to your if/else. You should use <img> to display your image instead.