Ich versuche, die gleiche Funktion mit inkrementiert numberOfFaces, aber es laden mit dem vorherigen Wert von nur 5. Was mache ich falsch? Ich versuche nur, die Funktion zu wiederholen, nachdem ich auf das letzte Kind der linken Seite geklickt habe.Inkrement funktioniert nicht in passendem Spiel
var numberOfFaces = 5;
function generateFaces() {
var theRightSide = document.getElementById("rightSide");
var theLeftSide = document.getElementById("leftSide");
var theBody = document.getElementsByTagName("body")[0];
while(numberOfFaces > 0) {
// CREATING IMG ELEMENTS AND APPENDING THEM TO THE LEFTSIDE DIV
var img = document.createElement("img");
img.src = "http://home.cse.ust.hk/~rossiter/mooc/matching_game/smile.png" ;
img.style.top = Math.floor(Math.random() * 400) +"px";
img.style.left = Math.floor(Math.random() * 400) +"px";
theLeftSide.appendChild(img);
// CLONING THE LEFT SIDE DIV ELEMENTS, REMOVING THE LAST CHILD AND APPENDING THEM TO THE RIGHT CHILD
var leftSideImages = theLeftSide.cloneNode(true);
leftSideImages.removeChild(leftSideImages.lastChild);
theRightSide.appendChild(leftSideImages);
numberOfFaces--;
}
theLeftSide.lastChild.onclick = function nextLevel(event){
event.stopPropagation();
while (theLeftSide.firstChild) {
theLeftSide.removeChild(theLeftSide.firstChild);
}
while (theRightSide.firstChild) {
theRightSide.removeChild(theRightSide.firstChild);
}
numberOfFaces += 5;
generateFaces();
};
theBody.onclick = function gameOver(event) {
alert("Game Over!");
theBody.onclick = null;
theLeftSide.lastChild.onclick = null;
}
}
Wo überprüfen/verwenden Sie numberOfFaces? –
poste den Rest deines Codes .... –
Es gibt keine Möglichkeit zu wissen, basierend auf dem Code, den du gezeigt hast. Mögliche Gründe sind das erneute Ausführen des Codes, der die Variable initialisiert, oder die Variable ist lokal, oder der Code, der den Wert ausgibt, ist fehlerhaft oder aus einem anderen Grund. – JJJ