Daniel: Zeitverzögert !?

Erst einmal hallo.
Kann mir vielleicht jemand helfen?

Ich möchte auf meiner Hompage im Sekundentakt etwa 10 gif's nacheinander einblenden.
Sie sollen ganz einfach nur untereinander zu sehen sein.

derzeit versuche ich es so:
<body onLoad="setTimeout("document.Bild.'Quelle'",1000)>
<img src="bild">
</body>

Gibt es eine möglichkeit die funktion "steTimeout ()" zu schachteln?
Oder gibt es noch eine andere möglichkeit?

  1. hi,

    Ich möchte auf meiner Hompage im Sekundentakt etwa 10 gif's nacheinander einblenden.
    Sie sollen ganz einfach nur untereinander zu sehen sein.

    das wären also 10 einzelne <img>-tags, die du nacheinander einblenden willst?
    dafür solltest du per JS ihre visibility- oder display-eigenschaft ändern.

    derzeit versuche ich es so:
    <body onLoad="setTimeout("document.Bild.'Quelle'",1000)>
    <img src="bild">
    </body>

    was ist in diesem beispiel 'Quelle'?
    wo wird das definiert, und vor allem, wo wird der wert verändert?
    die zehnfache ausführung wird auch nirgends ausgelöst.

    Gibt es eine möglichkeit die funktion "steTimeout ()" zu schachteln?

    mache eine funktion aus dem ganzen, die sich am ende mittles setTimeout() selbst wieder aufruft, so lange dein zähler den wert zehn noch nicht überschritten hat.

    oder arbeite mit setInterval().

    gruss,
    wahsaga

    1. derzeit versuche ich es so:
      <body onLoad="setTimeout("document.Bild.'Quelle'",1000)>
      <img src="bild">
      </body>

      die zehnfache ausführung wird auch nirgends ausgelöst.

      Das weiß ich! Bin an der Stelle nicht weitergekommen.
      Es wurde logischerweise nur einmal ausgeführt.

      --------
      Die Idee mit der rekursieven Funktion hatte ich ja auch. Aber wie binde ich mit ihr ein bild ein?
      ich kann ja im img-<Tag> keine variable verwenden! Oder?

  2. Du suchst vermutlich setInterval().
    Warum lädts Du die Bilder nicht zunächst als unsichtbar (über CSS), um sie dann per setTimeout sichtbar zu schalten?
    <img id='bildx' src='Bild' style='visibility:hidden;'>
    oder
    <img id='bildx' src='Bild' style=display:none;'>
    (x durch 0 bis anzahlBilder-1 ersetzen)

    Mit folgendem JavaScript

    function makeVisible(i)
    {
      oImage = document.getElementById('bild' + i);
      oImage.style.visibility = "visible";
      // oImage.style.display = 'block';
      i = i + 1;
      if (i < 10)
        timer = setTimeout('makeVisible(' + i + ');', 1000);
    }
    setTimeout('makeVisible(0);', 1000);

    MfG
    GK