For Schleife jede Sekunde 1 Mal ausführen lassen ?
Markus P.
- javascript
0 Markus P.0 Simon Reinhardt0 Markus P.0 Simon Reinhardt0 LanX
Hallo Leute,
Ich hab hier ein kleines Script gemacht das einen Text Buchstabe für Buchstabe hinschreiben soll . So weit so gut ,das einzige Problem ist das die for Schleife sofort jeden Buchstaben hinschreibt sodaß der Satz dasteht sobald ich das Script starte. Meine Frage ist nun wie ich das Script ändern kann ,daß die for Schleife jede Sekunde nur EIN Mal ausgeführt wird ,sodaß sich jede Sekunde der Text um einen Buchstaben ergänzt ?
<html>
<head>
<title>test</title>
</head>
<body text="black">
<script language="JavaScript">
textdaten = "Das ist ein Test";
Laenge = textdaten.length;
for (i=0 ;i <= Laenge ; i++)
{
var y = i - 1;
var x = textdaten.substring(y,i)
document.write(x)
}
</script>
</body>
</html>
Hallo Leute,
Ich hab hier ein kleines Script gemacht das einen Text Buchstabe für Buchstabe hinschreiben soll . So weit so gut ,das einzige Problem ist das die for Schleife sofort jeden Buchstaben hinschreibt sodaß der Satz dasteht sobald ich das Script starte. Meine Frage ist nun wie ich das Script ändern kann ,daß die for Schleife jede Sekunde nur EIN Mal ausgeführt wird ,sodaß sich jede Sekunde der Text um einen Buchstaben ergänzt ?
<html>
<head>
<title>test</title>
</head>
<body text="black">
<script language="JavaScript">
textdaten = "Das ist ein Test";
Laenge = textdaten.length;
for (i=0 ;i <= Laenge ; i++)
{
var y = i - 1;
var x = textdaten.substring(y,i)
document.write(x)
}
</script>
</body>
</html>
Habs jetzt so geändert ,aber nach einem Buchstaben kommt die Fehlermeldung Objekt erwartet ?
<html>
<head>
<title>test</title>
</head>
<body text="black">
<script language="JavaScript">
var textdaten = "Das ist ein Test";
var i = 1
var y = i - 1;
var x = textdaten.substring(y,i)
function Tippen()
{
document.write(x)
i = i + 1
}
window.setInterval("Tippen()",500)
</script>
</body>
</html>
Hi!
var textdaten = "Das ist ein Test";
var i = 1
var y = i - 1;
var x = textdaten.substring(y,i)
function Tippen()
{
document.write(x)
i = i + 1
}
window.setInterval("Tippen()",500)
So, wie es jetzt da steht, ist es sowieso noch falsch. Der Buchstabe wird nur einmal berechnet und die Funktion nur einmal ausgeführt.
Änder das mal so:
var textdaten = "Das ist ein Test";
window.setInterval("Tippen("+textdaten+", 1)",500);
function Tippen(text, i)
{
document.write(text.substring(i-1,i));
window.setInterval("Tippen(""+text+"","+(i+1)+")",500);
}
Probier das mal.
VG Simon
Hi!
var textdaten = "Das ist ein Test";
var i = 1
var y = i - 1;
var x = textdaten.substring(y,i)
function Tippen()
{
document.write(x)
i = i + 1
}
window.setInterval("Tippen()",500)
So, wie es jetzt da steht, ist es sowieso noch falsch. Der Buchstabe wird nur einmal berechnet und die Funktion nur einmal ausgeführt.
Änder das mal so:
var textdaten = "Das ist ein Test";
window.setInterval("Tippen("+textdaten+", 1)",500);
function Tippen(text, i)
{
document.write(text.substring(i-1,i));
window.setInterval("Tippen(""+text+"","+(i+1)+")",500);
}
Probier das mal.
VG Simon
hmmmm ,danke zwar für die Hilfe ,aber jetzt gehts auch nicht ,denn 1. die vielen " Zeichen dürfen nicht hintereinander sooft vorkommen
und 2. kann ich jetzt gar nicht hier herauslesen welche " Zeichen wo hingehören ?
Hi!
hmmmm ,danke zwar für die Hilfe ,aber jetzt gehts auch nicht ,denn 1. die vielen " Zeichen dürfen nicht hintereinander sooft vorkommen
Doch, doch :-)
und 2. kann ich jetzt gar nicht hier herauslesen welche " Zeichen wo hingehören ?
Hm, so wie's da steht. Aber ich kann Dir auch eine einfachere Version basteln:
var textdaten = "Das ist ein Test";
window.setInterval("Tippen(1)",500);
function Tippen(i)
{
document.write(textdaten.substring(i-1,i));
window.setInterval("Tippen("+(i+1)+")",500);
}
VG Simon
Hi!
var textdaten = "Das ist ein Test";
window.setInterval("Tippen(1)",500);
function Tippen(i)
{
document.write(textdaten.substring(i-1,i));
window.setInterval("Tippen("+(i+1)+")",500);
}
Hmm, Simon ich fürchte du hast setInterval mit setTimeout verwechselt.
</Selfhml/tecb.htm#a44> ;-)
VG Rolf