Podmiana obrazka po zdarzeniu onclick w innerHTML korzystając z iteracji

0

Witam.
Nie wiem czy dobry temat dałem więc proszę o poprawienie.
Robię grę w wisielca.
Potrzebuję pomocy przy podmianie obrazków w divie o id szubienica.
Początkowo jest wyświetlony obrazek s0.jpg.
Gdy gracz wciśnie nie właściwą literę zawartość diva ma się zmienić na s1.jpg, później na s2.jpg i tak dalej i tak dalej.
Obrazki są ponumerowane od s0.jpg do s9.jpg.
Jak mam to podmieniać robiąc coś takiego:

document.getElementById("szubienica").innerHTML = "<img src='tu obrazek'/>";

I jak wykonać sprawdzenie czy w divie szubienica znajduje się już obrazek s9.jpg?
Iteracji muszę użyć.

0
var src;
var iterator = 1;

function change_image() {
    src = "<img src=\"s" + iterator + ".jpg\"/>";
    iterator++;
    document.getElementById("szubienica").innerHTML = src;
    if (iterator > 9)
        //smth
}
0

Może niezbyt ładnie, ale bez zmiennych globalnych:

<!DOCTYPE html>
<html>
<body>

<img id="szubienica" src="s5.jpg"/> 
<button onclick="myFunction()">Click me</button> 

<script>
function myFunction() {
    var path=document.getElementById("szubienica").src; 
	var idx = path.indexOf("/s")+2;
    var value = path.substring(idx, idx+1);
    if (value == 9) {
      alert("Przegrales!");
    } else {
      alert("Kontynuuj");
      path = "s"+(parseInt(value)+1)+".jpg";
    }
    document.getElementById("szubienica").src = path;
}
</script>

  
</body>
</html>

0

Robisz to trochę na okrętkę. Nie będę za bardzo wnikał w Twój design, ale możesz łatwo poprawić 2 rzeczy:

  1. Nie uzależniaj stanu Twojej gry od obrazka. Zamiast tego trzymaj stan gry w jakiejś zmiennej. Niech już nawet będzie globalna, ale niech to będzie zmienna, np. guessesLeft. Zaczynasz od 9 i jak ktoś sie pomyli to dekrementujesz (--guessesLeft). Jak guessesLeft jest 0, to koniec gry.
  2. Zamiast podmieniać obrazki, załatw to cssem. Wtedy podmienianie obrazka sprowadzi się do zmiany klasy.
guessesLeft-9 {
  
}

guessesLeft-8 {
  
}
/* .... */
guessesLeft-0 {
  
}

1 użytkowników online, w tym zalogowanych: 0, gości: 1