Hallo Micha, hallo Nitram-X,
die Schleife ist leider zu schnell, als das man es sehen könnte. setInterval ist das, was Du benötigst. Hiermit musst Du eine Funktion oder ein Laufindex immer wieder anschupsen, die dann den nächsten Buchstaben aus dem Array holt.
Stichwort setTimeout oder setInterval wie schon Mathias sagte.
Zu ergänzen wäre noch: Das Array kann man der Einfachheit halber mit der Methode split('') aus einer einzigen Zeichenkette erstellen, um sich die Tipparbeit mit den vielen Anführungszeichen und Kommas zu ersparen.
Das hat dann auch den Vorteil, das man so das InnerHTML eines bestehenden Elements in ein Array zwischenspeichern kann, das innerHTML dieses Elements anschließend mit einer leeren Zeichenkette überschreiben und danach wieder Buchstaben für Buchstaben aus dem Array zurückschreiben kann. Bei deaktiviertem Javascript ist der Text dann wenigstens auch da, wenn auch unverändert und von vornherein in Gänze.
Der Aufruf der Lösch- und Neuschreibfunktion sollte bei diesem Verfahren allerdings in einem Script-Block im Quellcode direkt hinter dem betreffenden Element erfolgen, damit bei länger ladenden Seiten nicht der Text zuerst erscheint, dann onload wieder verschwindet und schließlich häppchenweise wieder zurückgeschrieben wird.
Gruß Gernot
super me