Как добавить изображение в элемент div с помощью оператора switch?

1

Идея состоит в том, что каждый раз, когда жизнь опускается на 1, показывается меньшее изображение, или будет в элементе div позже. Код не закончен, я добавлю остальные из них позже (5-1), но я хочу посмотреть, возможно ли это в первую очередь, как я это делаю. Надеюсь, того, что я показываю, достаточно, чтобы понять, что я пытаюсь сделать.

function lifeloss() {
  life -= 1;
  var life = document.getElementById("lifecount");
  switch (life) {
    case 1:
      if (life >= 5) {
        life.innerHTML += "<img class="life" src="life.png">"
      }
      break;
    default:

  }
}
  • 2
    Я не понимаю, как жизнь может быть> = 5 в случае, когда жизнь = 1.
  • 0
    @AlixBergeret Это как когда ты говоришь, что тебе 20 лет, а на самом деле 25.
Показать ещё 1 комментарий
Теги:
switch-statement
function

2 ответа

2
Лучший ответ

операторы switch для конкретных значений. Поскольку вы ищете диапазон (например, life >= 5), вы должны соглашаться на утверждения if/else:

function lifeloss() {
  life -= 1;
  var lifecount = document.getElementById("lifecount");

  if (life >= 5) {
    lifecount.innerHTML += '<img class="life" src="life.png" />';
  } else if (life >= 1) {
    //Perhaps a low life image?
  } else {
    //We're dead Jim
  }
}

После повторного чтения вопроса, если вы ищете COPY образ жизни для каждой жизни, я рекомендую использовать string.repeat():

function lifeloss() {
  life -= 1;
  var lifecount = document.getElementById("lifecount");

  var lifeImg = '<img class="life" src="life.png" />';

  lifecount.innerHTML = lifeImg.repeat(life);
}
  • 0
    Хорошо, спасибо
  • 0
    @kritoz Проверьте мои изменения
Показать ещё 7 комментариев
0

С кодом, который вы указали, инструкция if никогда не будет считана, потому что вы проверили случай, когда жизнь была равна 1, и в соответствии с этим утверждением вы также проверили, была ли жизнь более 5. В основном, когда жизнь = 1, вы хотите проверить, также ли это> = 5.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню