0

I'm making a element that is randomly appearing on the screen using javascript. What would I do in order to add an image using javascript to the randomly generated element?

function addEnemy() {
  var interval = 0.1;
  if (iterations > 1500) {
    interval = 5;
  } else if (iterations > 1000) {
    interval = 3;
  } else if (iterations > 500) {
    interval = 1;
  }

  if (getRandom(50) == 0) {
    var elementName = "enemy" + getRandom(10000000);
    var enemy = createSprite(elementName, getRandom(450), -40, 45, 45);
    var enemiesDiv = document.getElementById("enemiesDiv");
    var element = document.createElement("div");
    element.id = enemy.element;
    element.className = "enemy";
    enemiesDiv.appendChild(element);
    enemies[enemies.length] = enemy;
    element.enemy.innerHTML
  }
}

2 Answers 2

1

You can create a new img element, give it the source to your image, then append that img element to your element you created. (I would suggest using a more descriptive variable name than just "element")

The relevant code could look like this:

var myImage = document.createElement('img');
myImage.src = 'my_image.jpg';
element.appendChild(myImage);
Sign up to request clarification or add additional context in comments.

Comments

0

A little bit too broad, but I think you could consider using the background property of your created div. Something like this:

function addEnemy() {
  var interval = 0.1;
  if (iterations > 1500) {
    interval = 5;
  } else if (iterations > 1000) {
    interval = 3;
  } else if (iterations > 500) {
    interval = 1;
  }

  if (getRandom(50) == 0) {
    var elementName = "enemy" + getRandom(10000000);
    var enemy = createSprite(elementName, getRandom(450), -40, 45, 45);
    var enemiesDiv = document.getElementById("enemiesDiv");
    var element = document.createElement("div");
    element.id = enemy.element;
    element.className = "enemy";

    // Here
    element.style.backgroundImage = "url('img_enemy.png')";

    enemiesDiv.appendChild(element);
    enemies[enemies.length] = enemy;
    element.enemy.innerHTML
  }
}

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.