Ich habe Text, den ich nach einer bestimmten Zeit ändern möchte. Ich habe diese Arbeit:Ändern von Text nach Zeitraum, in einem endlosen Zyklus
function nextMsg() {
if (messages.length == 0) {
} else {
$('#message').html(messages.pop()).fadeIn(500).delay(1000).fadeOut(500, nextMsg);
}
};
var messages = [
"sleep",
"eat",
"drink",
"read",
].reverse();
$('#message').hide();
nextMsg();
Siehe JSFIDDLE
Meine Frage: ich behalten möchten, die Nachrichten zu wiederholen. Mit anderen Worten, wenn die letzte Nachricht angezeigt wird, wird der Zyklus von der ersten Nachricht an erneut gestartet, wobei ein endloser Zyklus erzeugt wird. Was muss geändert/hinzugefügt werden?
vielleicht statt messages.pop() können Sie Nachrichten verwenden [(i ++)% n]. – LiranBo
'messages.pop()' entfernt Ihre Array-Elemente, verwenden Sie stattdessen einen Index, den Sie inkrementieren, wie LiranBo vorgeschlagen –