[erledigt] Automatisch Text Zeile-für-Zeile schreiben

Hallo,

Ich habe leider mit Programmierung wenig am Hut.
Ich brache für ein kleines Filmprojekt eine Webseite, welche mir einen vordefinierten Text Zeile für Zeile hinschreibt - so dass also jede Sekunde eine neue Zeile erscheint

Es sollte so aussehen wie wenn Windows im DOS lädt.

Loading kernel…
initializing system…
etc
etc.

Normalerweise findet man immer fertige Scripts im Internet, da dies jedoch nicht wirklich üblich ist wird es schwiriger.

Bisher habe ich lediglich folgender JV:

function write_text() {
document.getElementById("loading_screen").innerHTML = "Text der hingeschrieben werden soll";
}

Ich hoffe ihr könnt mir irgendwie weiterhelfen…
Danke.

hallo,

es gibt eine funktion, die sich setTimeout() nennt - damit kann man das skript praktisch für eine beliebige zeit anhalten.
als übergabeparameter musst du dann die zeit angeben - 1000 steht für 1000 ms = 1 sekunde.
außerdem musst du noch den namen der funktion übergeben, die nach dem timeout aufgerufen werden soll - es geht also nicht einfach weiter im code!

mfg
emil

Danke.

Ich habe von früher her ein Script, das in ein Input-Feld hineingeschrieben hat. Habe den Code von dort nun übernommen und etwas angepasst…

Doch jetzt beginnt er jede Zeile wieder von vorne, anstatt eine neue Zeiel zu verfassen

var max=0;

function textlist()
{
        max=textlist.arguments.length;
        for (i=0; i<max; i++)
                this[i]=textlist.arguments[i];
}

frameware = new textlist
(
	"inizialising system", 
	"loading kernel",
	"...",
	"...",
	"...",
	"...",
	"..."
);

var x=0; pos=0;
var l=frameware[0].length;

function Loading_Kernel() 
{        
	document.getElementById("kernel").innerHTML = frameware[x].substring(0,pos);
	if(pos++==l)
	{
			pos=0;
			setTimeout("Loading_Kernel()",2000);
			x++;
			if(x==max)
					x=0;
			l=frameware[x].length;
	} else
			setTimeout("Loading_Kernel()",100);
}

Was ich verstehe im Code, wiso er Zeichen für Zeichen hinschreibt und wie das mit dem Timeout funktioniert… nur nicht warum die Zeile wieder gelöscht wird…

Das hier ist übrigens die Seite:
videoinproduction.ch/RCE-VFX100

soweit ich (hab nur spontan überflogen) sehen kann:

du setzt immer wieder mit xyz.innerHTML = ‘String 1’ - wenn du willst, dass es bestehen bleibt, wieso sagst du nicht einfach xyz.innerHTML = xyz.innerHTML + ‘String 2’ (kurzschreibweise zu letzterem: xyz.innerHTML += ‘String 2’)

du ersetztes als immer wieder, statt einen neuen string hinten zuergänzen, wenn du nur mit = zuweißt, überschreibst du alles was vorher drin stand (so als kleinen denkanstoß)

@emil: setTimeout stoppt nicht den script, sondern startet eine function.

var text=["erste Zeile","zweite Zeile","3. Zeile"];
var i=0;
document.getElementById("test").innerHTML = "";
function doit(){
document.getElementById("test").innerHTML += text[i++] + "<br>";
if(i < text.length) window.setTimeout(doit,2000);
}
doit();

@pit:
Wow. Funktioniert! Danke.
So einfach eigentlich…