den folgenden Code anzeigen:‚für‘ für Array verwendet Schleife nicht in diesem einfachen Skript arbeitet
function overall() {
var message = ["dog", "cat", "bear", "penguin", "tiger", "eagle", "John Doe"];
function forward() {
var A = document.getElementById('text');
for (var i = 0; i < message.length+1; i++) {
if (A.innerHTML===message[i]) {
A.innerHTML = message[i+1];
};
};
};
function backward() {
var A = document.getElementById('text');
for (var i = 0; i < message.length+1; i++) {
if (A.innerHTML===message[i]) {
A.innerHTML = message[i-1];
};
};
};
};
In dem oben JS-Skript, ist meine Absicht, wenn die Vorwärts() Funktion aufgerufen wird, Tier in dem ' .innerHTML 'sollte sich danach im Array' message 'mit der for-Schleife zu einem Tier ändern. Wenn die backward() -Funktion aufgerufen wird, sollte Tier in der '.innerHTML' in ähnlicher Weise zu einem Tier vor diesem in der genannten Array ändern.
Ich verifizierte mein Skript und es gibt angeblich keine syntaktischen Fehler. Das bedeutet, dass es einen Fehler in meiner Logik gibt. Bitte hilf mir. Vielen Dank!
Die HTML:
<html>
<head></head>
<body>
<p id="text">dog</p>
<div id='right' onclick="forward()"></div>
<div id="left" onclick="backward()"></div>
</body>
</html>
'message.length + 1' bewirkt, dass die Schleife über das Ende des Arrays hinausläuft. Du hast wahrscheinlich "message.length-1" gemeint. –
Bitte fügen Sie den HTML-Code dieses Elements und den Code hinzu, den Sie eigentlich "forward" und "backward" nennen. – trincot
Wie rufen Sie Ihre Funktion in Ihrem HTML auf? Ich meine, die beiden Funktionen sind in einer Gesamtfunktion enthalten. –