• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

Schleifenausgabe-Problem.

Murray

New member
Moin,

ich habe folgendes Problem, ich möchte erreichen das,
ein . nacheinander ausgegeben wird und das in einem Zeitintervall (Beispiel: nach 5 sek erfolgt der erst Punkt nach weiteren 5 der nächste), leider weiss ich nicht wie ich das erreiche, gibt es soetwas wie die sleep()-Funktion oder so.

Hier mal mein jetziges Beispiel:

document.write('<table align="center" cellspacing="2" cellpadding="2" id="tblIndex" width="700"><tr height="15">');
document.write('<td><b>');
for (i = 0; i < 100; i++) {
document.write('.');
}
document.write('</b></td></tr></table>');

Leider werden die Punkte aber sofort dargestellt und nicht in Abfolge.

Kann mir da jemand helfen?

Vielen Dank im voraus.

Gruß Murray
:D
 
<script language="javascript">
<!--
function punkt()
for (i = 0; i < 100; i++)
{
document.write('.')
}
window.setTimeout ("punkt()", 5000);
-->
</script>

Versuche es mal so, sollte funktionieren. Die 5000 steht für 5000 Millisekunden also 5 Sekunden....

MfG,

Patrick
 
So gibts alle füf Sekunden 100 Punkte, wenn ich mich nicht täusche.

for(var i=0; i<100; i++)
{
setTimeout ("document.write('.')", 5000);
}


Hoff das funktioniert so, glaub aber schon.
 
Ne das hatte ich schon bemerkt und beseitigt aber es geht leider trotzdem nicht so wie ich es meinte:

Ist die Klammersetzung so richtig?:

<script language="javascript">
<!--
function punkt()
{
for (var i = 0; i < 100; i++)
{
document.write('.')
}
}
window.setTimeout ("punkt()", 5000);

-->
</script>

Es wird zwar nach erst nach 5 sek der Punkt gesetzt, aber alle auf einmal und nicht 5sek . 5sek nächster.

Desweiteren macht er es dann so, dass es nicht in der Tabelle gebracht wird sondern auf einer neuen Site mit weißem Hintergrund es sollte aber in einer Tabelle der Punkt nach und nach ausgegeben werden, Beispiel:

<script language="JavaScript1.2">
<!-- beging hiding
document.write('<table align="center" cellspacing="2" cellpadding="2" id="tblIndex" width="700"><tr height="15">');
document.write('<td><b>');

punkt();

function punkt()
{
for (var i = 0; i < 100; i++)
{
document.write('.')
}
window.setTimeout ("punkt()", 5000);
}
document.write('</b></td></tr></table>');
// end hiding -->
</script>

*heul* *gg*

Gruß Murray
:D
 
Hi, Tschuldigung, war mein fehler.

Das der Punkt auf eine weisse Seite kam, war klar, ich hatte nicht alles gepostet sondern nur den .-Macher ;)

Naja, also müssen wir da noch einen kleinen Teil verändern. Aber welchen??? Ich weiss, das man in Basic die For-Next Schleife unterbrechen kann, das geht hier auch, ich komme im Moment nur net auf den Befehl..

ich werde mich heute abend nochmal melden. muss jetzt zum fussi...

ciao
 
THX

Ist echt ne verzwickte Sache, ich kann den Code drehen und wenden wie ich will, es funzt einfach nicht. Mit Perl hätte ich es schon längst hinbekommen. Einfach die Sleep-Funktion rein und das wars.
Das dumme ist ja nur das die Routine so schon funzt, sprich ich habe es schon erreicht, das alle 5 Sekunden der . erscheint, das Problem ist das er dann noch nicht aufhört und sobald ich eine For-Schleife benutze funzt das gesamte Teil nicht mehr.

Gruß Murray
 
Moin Moin

Dann versuche doch mal folgendes.

und zwar in die For-Schleifen schreibst du anstatt:

i < 100

einfach:

i < 1

Dann müsste er die Punkte einzelnd machen....
 
Zurück
Oben