I'm making a simple game with a background, three buttons but have run into a hiccup. The
document.body.appendChild(img);
Doesn't append the image, only shows the alt text. This is what I have so far:
<script>
document.body.style.backgroundImage =
"url('./back.jpg')";
document.body.style.backgroundSize = 'contain';
document.body.style.backgroundRepeat = 'no-repeat';
document.body.style.backgroundPosition = 'center';
document.body.style.backgroundSize = '100%';
function show_image(src, width, height, alt) {
var img = document.createElement("img");
img.src = src;
img.width = width;
img.height = height;
img.alt = alt;
document.body.appendChild(img);
}
show_image("url('./b.png')", 100,100,"btnBlue")
</script>
This is what I Get :
What am I doing wrong?
You are formatting your image URL like a CSS background property, the <img>
element source just takes the URL itself:
show_image("url('./b.png')", 100, 100, "btnBlue")
would become show_image("./b.png", 100, 100, "btnBlue")
function show_image(src, width, height, alt) {
var img = document.createElement("img");
img.src = src;
img.width = width;
img.height = height;
img.alt = alt;
document.body.appendChild(img);
}
show_image("https://picsum.photos/200", 100, 100, "btnBlue")