DennisD: Übergabe von Variablen innerhalb eines setTimeout

function startTimer(timernr)
{
 DropDownTimer=setTimeout("drop_off(timernr)", 2500)
}

Hallo,
leider tut die Variablenübergabe an drop_off so nicht und ich kann auch nicht rausfinden wie es funktioniert!

Habt ihr eine gute Idee?

Vielen Dank im Voraus!

Gruß Dennis

  1. Moin

    function startTimer(timernr)
    {
    DropDownTimer=setTimeout("drop_off(timernr)", 2500)
    }

    leider tut die Variablenübergabe an drop_off so nicht

    Stimmt. Damit übergibst du setTimeout nämlich den String "drop_off(timernr)" (deswegen hast du es ja auch in Anführungszeichen geschrieben). Wenn du einen String haben willst der sich aus "drop_off(", dem Wert von timernr und ")" zusammensetzen soll, musst du das auch hinschreiben:
    setTimeout("drop_off("+timernr+")",2500)

    siehe auch: http://forum.de.selfhtml.org/?m=8417&t=1376

    --
    Henryk Plötz
    Grüße aus Berlin

    1. Moin

      function startTimer(timernr)
      {
      DropDownTimer=setTimeout("drop_off(timernr)", 2500)
      }

      leider tut die Variablenübergabe an drop_off so nicht

      Stimmt. Damit übergibst du setTimeout nämlich den String "drop_off(timernr)" (deswegen hast du es ja auch in Anführungszeichen geschrieben). Wenn du einen String haben willst der sich aus "drop_off(", dem Wert von timernr und ")" zusammensetzen soll, musst du das auch hinschreiben:
      setTimeout("drop_off("+timernr+")",2500)

      siehe auch: http://forum.de.selfhtml.org/?m=8417&t=1376

      --
      Henryk Plötz
      Grüße aus Berlin

      Besten Dank! Das hat geholfen, obwohl ich damit vorher schon herumprobiert hatte! Aber wenn man zu lange davor sitzt, dann wird man einfach irgendwann blind für seine Fehler!

      Gruß Dennis

    2. Hoi,

      Stimmt. Damit übergibst du setTimeout nämlich den String "drop_off(timernr)" (deswegen hast
      du es ja auch in Anführungszeichen geschrieben). Wenn du einen String haben willst der
      sich aus "drop_off(", dem Wert von timernr und ")" zusammensetzen soll, musst du das auch
      hinschreiben:
      setTimeout("drop_off("+timernr+")",2500)

      Das waere nichtmal ein Problem, wenn es sich um eine Variable mit globalem Scope handelt, denn
      der String wird ge-eval-t. Aber die hier halt ihren Scope einzig und allein in der Funktion.

      Gruesse,
       CK