Идея состоит в том, что каждый раз, когда жизнь опускается на 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:
}
}
операторы 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);
}
С кодом, который вы указали, инструкция if никогда не будет считана, потому что вы проверили случай, когда жизнь была равна 1, и в соответствии с этим утверждением вы также проверили, была ли жизнь более 5. В основном, когда жизнь = 1, вы хотите проверить, также ли это> = 5.