Hallo Lavarin
Dein Script hat noch einen grundsätzlichen Mangel. Da die Methode Math.random() einen Wert zwischen 0 und 1 zurück gibt und Math.floor() auf den nächst niedrigen Integer abrundet wird die Variable index immer den Wert 0 beinhalten.
http://de.selfhtml.org/...ekte/math.htm#random http://de.selfhtml.org/...jekte/math.htm#floor Also müsste zuerst diese Zeile wiefolgt geändert werden:
index = Math.floor(Math.random() * text.length);
Wiederholungen könntest Du vermeiden indem eine weitere Variable index_old einführst und solange neue Zahlen generierst, bis sich die neue Zahl von der alten unterscheidet:
index = 0; //Initialisierung
index_old = -1; //Initialisierung zu einem Wert den index nie annehmen wird
/* Diese Initialisierung darf nur einmal durchlaufen werden z.B. als Script im head-Bereich, wenn die Seite geladen wird. der folgende Teil kann dann zum Beispiel in ein Funktion gepackt werden.
*/
do {
index = Math.floor(Math.random() * text.length);
} while(index == index_old);
index_old = index;
Das Problem mit den Anführungszeichen kann gelösst werden indem einfache und doppelte Anführungszeichen verschachtelt werden:
window.setTimeout("window.alert('Hallo')" , 5000);
Weiter könnten Anführungszeichen maskiert werden:
window.setTimeout("window.alert('Er saget: \"Hallo\"')" , 5000);
HTH