Bilder in Zeitspanne anzeigen

SeeknDestroy

Mitglied
Hallo, ich hab folgendes Problem.
Ich will wenn ich über einen Link fahre,
dass jedes der vorhandenen 5 Bilder nach einer Sekunde
erscheint.
Das sieht ungefähr so aus:

[BILD] [BILD] [BILD] [BILD] [BILD]

[Link]

Ich habe auch ansätze, bloß die tuen nicht richtig, bin jetzt schon 1 1/2 stunden daran, und schaff es nicht.

Mein Ansatz:

function erscheinen(id,anz) {
for (i = 0; i <= anz; i++)
{
obj = document.getElementById('bild_'+i);
window.setTimeout('obj.style.visibility = "visible"',500);
}
}

Die Bilder haben die ID Bild_0 , Bild_1 , ... :

<img src="bild.jpg" id="bild_0" style="visibility:hidden;">
...

Aufgerufen wird das ganze mit:

<a href="#" onMouseOver="erscheinen('bild',5);">Bilder erscheinen</a>

Schön wärs wenns funktioniert.
Das einzige an der Geschichte das nicht geht, ist der Befehl window.setTimeout('',500);
Ohne den Befehl funktioniert das ganze, Bloß was will ich mit 5 gleichzeitig erscheinenenden Bildern ?
Obwohl man sich auch fragen könnte was man mit 5 bildern nacheinander will, aber das will ich stylisch noch ausarbeiten.

Ich hoffe ihr könnt mir helfen, weil so eine Funktion wie sleep(5); wie in PHP gibt es nicht, und einfach nur
window.setTimeout('',500); als ersatz funktioniert auch nicht.

Perfekt wäre so etwas wie sleep(0.5);

Mfg seekndestroy
 
geh da anders ran, erstelle ein array mit den Bildern und eine weitere Variable für die aktuelle bildnummer, und dann ein funktion die die alle bilder invisible setzt und die das bild mit der aktuellen bildnummer +1 sichtbar machst und die zählvariable eins höher setzt
und diese Funktion rufst du mit setTimeout auf
flooo
 
Du kannst es schon so machen, es gibt nur 2 Probleme:
  1. Damit das wirklich zeitversetzt passiert, musst du den ms-Wert im Timeout bei jedem Bild erhöhen
    (geht am Sinnvollsten, indem du i mit 1000 multiplizierst)
  2. Die variable obj existiert beim Ausführen der Anweisung per setTimeout nicht mehr, da sie innerhalb einer funktion deklariert wurde... welche aber bereits verlassen wurde. Du musst sie komplett bei setTimeout notieren, oder ausserhalb der Funktion deklarieren.
summa summarum:
Code:
<script type="text/javascript">
<!--
function erscheinen(id,anz) {
for (i = 0; i <= anz; i++)
    {
        window.setTimeout("document.getElementById('bild_" + i +"').style.visibility='visible'", i*1000);
    }
}
//-->
</script>
 

Neue Beiträge

Zurück