Georg: MouseOver und Zeitverzögerung

Ich möchte beim MouseOver eine Zeitverzögerung mit einbauen. Diese sollte ca. 2s dauern. Ich dachte, daß folgende setTimeout-Eingabe ausreichend wäre. Aber es funktioniert leider nicht. Habe ich etwas vergessen oder übersehen?
Funktionen:

function einschalten(x)
{
  if (document.images)
    document.temp.src = Bild_array[x].src;
}
setTimeout(2000);

function abschalten()
{
  if (document.images)
    document.temp.src = Bild_array[0].src;
}

Viele werden bestimmt dieses Problem als easy empfinden, jedoch ich komme hierbei leider nicht weiter.
Danke im voraus für Eure Vorschläge.

Georg

  1. hi ho

    [...] Habe ich etwas vergessen oder übersehen?

    ja .-)
    setTimeout ruft eine Funktion nach einer bestimmten Zeit auf - waehrend der rechner trotzdem seine arbeit weiter macht
    Die Loesung muss also etwa so aussehen:

    function einschalten(x)
    {
      if (document.images)
        document.temp.src = Bild_array[x].src;
    }
    function abschalten()
    {
      if (document.images)
        document.temp.src = Bild_array[0].src;
    }

    <a [...] onMouseover="setTimeout('einschalten',2000);">
    oder sowas

    naeheres unter <../../tecb.htm#a45>

    cua

    n.d.p.

    1. Danke für die Tips. Habe die Vorschläge vom André getestet, aber jedesmal erwirkt dies einen JavaScript-Error.
      Die Erläuterung des Befehles "setTimeout" konnte diesen Fehler auch nicht erklären. Kann mir jemand sagen,
      was am Vorschlag vom André nicht stimmt?

      1. Hab den Fehler mittlerweile gefunden.

        Georg

        1. Hallo!

          Hab den Fehler mittlerweile gefunden.

          Was wars?

          Ich hatte meine Antwort ohne zu testen geschrieben.

          Du kannst in der Anweisung von setTimeout(), eine Anreihung von unzähligen Anweisungen unter bringen.

          Hier mal ein kleines Beispiel:

          function einschalten()
          {
             setTimeout('x = "Hallo"; alert(x)', 2000);
          }

          <body onload="einschalten()">

          Ich habe mein geschriebenes Script mal kopiert und ein alert() eingesetzt. Es kamm immer eine Fehlermeldung, bis ich es neu geschrieben habe. Kann sein, das sich im Script ein Backspace oder Null-Zeichen befunden hat, das dem JS-Parser nicht gefallen hat. Durch das Löschen und Neuschreiben, war es weg und hat funktioniert.

          mfg, André Laugks

  2. Hallo!

    function einschalten(x)
    {
      if (document.images)
        document.temp.src = Bild_array[x].src;
    }

    setTimeout(2000);

    Diese Angabe bringt gar nichts. Du hast im setTimeout keine Anweisung mit angegeben.
    <../../tecb.htm#a45>

    function abschalten()
    {
      if (document.images)
        document.temp.src = Bild_array[0].src;
    }

    Versuche das mal:

    function einschalten(x)
    {
      if (document.images)
       {
         setTimeout('document.temp.src = Bild_array[x].src', 2000);

    }
    }

    Was auf jeden Fall funktionieren sollte:

    function verzogerung(x)
    {
      setTimeout('einschalten(x)', 2000);
    }

    function einschalten(x)
    {
      if (document.images)
        document.temp.src = Bild_array[x].src;
    }

    mfg, André Laugks