Timer in JavaScript?

ernii

Mitglied
Hi
ich moechte eine funktion schreiben die ein paar bilder auf dem Bildschirm umher wandeln lässt. Ich dachte mir ganz einfach das ich die mittels StyleSheet angaben ja auch ganz einfach verschieben kann. Nun das stimmt ja so auch, und funzt auch. Aber ich wollte die Animation natürlich dauerhaft haben. Nun mein erster Gedanke war ne Rekursive Funktion, aber logischer weise quitiert das der IE einfach mit einem "Out of Memory", Mozilla sagt und macht dazu garnichts. Naja wie auch immer, was man bräuchte wäre halt so 'nen timer der etwas alle x msec ausführt... aber gibts dat bei JavaScript?
Falls ihr andere Ideen für das Problem habt bin ich natürlich auch dafür sehr dankbar.

cu
ernii
 
Das was Du willst sollte eigentlich mit setTimeout( anweisung, n ) gehen.
Diese Funktion verzögert die Ausführung der übergebenen Anweisung um n Millisekunden.

Also irgendwie so:

function moveLayer() {

//Der ganze Code...

setTimeout('moveLayer()' , 1000);
}

Hoff das hilft..
 
Kann man dann eigentlich auch in eine Javascript function auch php mit einfügen? Also der Timer läuft ab und anstatt dann weiter Javascript auszuführen führt er PHP aus.

Geht sowas?
 
JavaScript und PHP sind 2 völlig verschiedene Sache.

PHP-Scripts werden auf dem Server ausgeführt. Danach wird das "Ergebnis" an den Browser geschickt. Der merkt also gar nicht, ob er eine normale HTML-Seite kriegt, oder eine die nur für Ihn per PHP erzeugt wurde.
Nachdem der Browser die Seite erhalten hat kann man Sie vom Server aus natürlich nicht mehr verändern.

JavaScript dagegen wird vom Browser ausgeführt, nachdem er die HTML-Seite vom Server erhalten hat.

Die einzige Möglichkeit die beiden Sprachen zu verknüpfen ist, entweder JavaScript-Code von PHP aus zu erzeugen oder mit JavaScript eine neue Seite anzufordern.

Grüßle
dave
 
hmm... ich hab nämlich son problem wenn jemand auf einer bestimmten seite sitzt soll ein timer losgehn der wahrscheinlich in javascript geschrieben ist.

Wenn der abgelaufen ist soll etwas in der mysql datenbank gemacht werden und der timer wird nochmal von vorne gestartet.
 
kein problem..

Alles was Du erreichen musst, ist das nach dieser Zeit wieder ein Script vom Server angefordert wird das er ja dann ausführt.

Muss ja keine HTML-Seite sein.
Wie wärs mit nem "ausführbaren" Bild.

<img src="meinScript.php" />

darin dannn:
PHP:
<?
//irgendwas in die Datenbank schreiben

header( "Content-Type: image/gif" );
readfile( "meinBild.gif" );

Das Bild kannst Du dann einfach ab und zu mit JavaScript neuladen..

HTH
dave
 
naja, steht doch oben?`

PHP:
...
function bild() {
    window.document.images.bild.src = "bild.php";

    setTimeout("bild()", 1000);
}

</script>
</head>
<body onLoad="bild();">

<img src="bild.php" id="bild">

habs etz net geteste, abba müsste funktionieren!
 

Neue Beiträge

Zurück