alfgar: setTimeout - funktion

Hallo,
hab eine Frage:
Wie kann ich in setTimeout("irgentwas()",zeit)
für "irgentwas()" - Parameter mit übergeben ?
z.B: setTimeout("irgentwas(i)",zeit)
Offensichtlich wird der Funktionsaufruf ja als String übergeben.
Scheint nicht zu gehen.
Bräuchte aber die Parameterwerte i.d. aufgerufenen Funktion.

Danke für die Hilfe im vorraus

Gruß
Alfgar

  1. Hi,

    z.B: setTimeout("irgentwas(i)",zeit)

    setTimeout("irgentwas("+i+")",zeit)

    sollte funktionieren.

    Grüße,

    Ronny

    1. Hallo Ronny,

      z.B: setTimeout("irgentwas(i)",zeit)

      setTimeout("irgentwas("+i+")",zeit)

      das ist Unsinn.
      So wie es alfgar schrieb, war es schon in Ordnung. Nur kann man keine lokalen Variablen als Parameter übergeben, denn die sind ja beim Aufruf der Funktion nicht mehr gültig.

      Grüße
      Andreas

      --
      "Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning."
      (Rich Cook)
      1. Hi,

        Hallo Ronny,

        z.B: setTimeout("irgentwas(i)",zeit)

        setTimeout("irgentwas("+i+")",zeit)

        das ist Unsinn.

        Nein.

        So wie es alfgar schrieb, war es schon in Ordnung. Nur kann man keine lokalen Variablen als Parameter übergeben, denn die sind ja beim Aufruf der Funktion nicht mehr gültig.

        Stimmt, aber wenn Du bei http://selfhtml.teamone.de/javascript/objekte/window.htm#set_timeout weiter liest, dann wirst Du auf folgendes stoßen: "Eine Übergabe der Werte mittels  Zeichenkettenverknüpfung ist jedoch jederzeit möglich."
        Und, was schlage ich vor?

        Grüße,

        Ronny

        1. Hallo Ronny,

          Stimmt, aber wenn Du bei http://selfhtml.teamone.de/javascript/objekte/window.htm#set_timeout weiter liest, dann wirst Du auf folgendes stoßen: "Eine Übergabe der Werte mittels  Zeichenkettenverknüpfung ist jedoch jederzeit möglich."
          Und, was schlage ich vor?

          Ok, Du hast recht. Da habe ich wohl zu kurz gedacht. Ich hatte nur daran gedacht, dass die Variable i übergeben werden und erst zur Laufzeit der Funktion "irgendwas" ausgewertet werden soll, und das funktioniert eben mit lokalen Variablen nicht. Dass man ja wie Du es schriebst auch den Wert der Variablen übergeben kann, habe ich nicht berücksichtigt.

          Grüße
          Andreas

          --
          "Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning."
          (Rich Cook)
  2. Hallo,

    Wie kann ich in setTimeout("irgentwas()",zeit)
    für "irgentwas()" - Parameter mit übergeben ?
    z.B: setTimeout("irgentwas(i)",zeit)
    Offensichtlich wird der Funktionsaufruf ja als String übergeben.
    Scheint nicht zu gehen.
    Bräuchte aber die Parameterwerte i.d. aufgerufenen Funktion.

    Probiere es so:

    function irgendwas(param)
    {
      alert(param);
    }

    var zeit=3000,i="Hallo Welt!";
    setTimeout(function(){irgendwas(i)},zeit);

    MfG, Thomas

    --
    SVG - Learning By Coding
    http://svglbc.datenverdrahten.de/
    1. Probiere es so:

      function irgendwas(param)
      {
        alert(param);
      }

      var zeit=3000,i="Hallo Welt!";
      setTimeout(function(){irgendwas(i)},zeit);

      MfG, Thomas

      Hat funktioniert! Vielen Dank noch mal .
      Gruß

      alfgar

    2. Hallo Thomas,

      var zeit=3000,i="Hallo Welt!";
      setTimeout(function(){irgendwas(i)},zeit);

      :-) danke, das war die mir unbekannte Lösung, wie man den IE und gleichzeitig Mozilla dazu bewegen kann lokale Parameter ohne Stringverkettung weiterzugeben

      Könntest du zu diesen Thema einen Tipps&Tricks-Beitrag verfassen?

      Viele Grüße

      Antje