setinterval Funktion mit Parameter aufrufen?!

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • setinterval Funktion mit Parameter aufrufen?!

    Hallo,

    ich habe ein Div-Fenster programmiert, was auch beim scrollen die Bildschirmposition nicht verändern soll. Dabei habe ich aber ein Problem mit setInterval. In der Funktion init möchte ich mit setintervall die Funktion menuPos aufrufen und gleichzeitig eine Variable übergeben. Die Fehlermeldung lautet aber immer (im IE): 'id' ist undefiniert.
    Rufe ich die Funktion ohne Parameter auf und setze id erst in der Funktion menuPos funktionierts! Hat jemand eine Idee woran es liegen könnte? Bitte helft mir!

    Danke & Gruß
    Bus


    PHP-Code:
    function div_ref_style (id) {
        if      (
    document.layers)         return document.layers[id];              
        else if (
    document.all)            return document.all[id].style;           
        else if (
    document.getElementById) return document.getElementById(id).style;
        else                              return 
    null;        
    }

    function 
    menuPos(id){

       var 
    gescrollt = (document.all)? document.body.scrollTop :
                       
    window.pageYOffset;
       var 
    neuPos gescrollt 20;
       
       
    div_ref_style(id).top neuPos;
    }

    function 
    init(id) {

       if (
    document.allwindow.setInterval("menuPos(id);",20);

       else if (
    document.getElementByIddiv_ref_style(id).position="fixed";


  • #2
    wundert dich das? was bewirken die Gänsefüßchen? richtig, sie deklarieren einen String, also was mußt du jetzt tun?

    Kommentar


    • #3
      hmmm...

      window.setInterval("menuPos("+id+")",20);

      oder

      window.setInterval(menuPos(id),20);

      funktionieren nicht?!?! :-(

      Hast Du vielleicht noch einen Tipp?

      Gruß
      Bus

      Kommentar


      • #4
        Re: hmmm...

        Original geschrieben von busstop
        window.setInterval("menuPos("+id+")",20);

        oder

        window.setInterval(menuPos(id),20);

        funktionieren nicht?!?!
        natürlich nicht, die id muss ja trotzdem immer noch als literal an die funktion übergeben werden.
        I don't believe in rebirth. Actually, I never did in my whole lives.

        Kommentar


        • #5
          Und wie mache ich das? ;-)

          Der Wert von id kann z.B. 'bildfenster' sein.

          Was ich nicht verstehe... in diesem Beispiel
          http://www.php-resource.de/forum/sho...l&pagenumber=2
          wir genau folgender Ausdruck verwendet:

          window.setTimeout("countdown(wielang);",1000)

          Zuletzt geändert von busstop; 19.04.2005, 10:49.

          Kommentar


          • #6
            Original geschrieben von busstop
            Und wie mache ich das? ;-)
            (fast) genauso wie in PHP

            window.setInterval("menuPos('"+id+"')",20);


            Was ich nicht verstehe... in diesem Beispiel
            http://www.php-resource.de/forum/sho...l&pagenumber=2
            wir genau folgender Ausdruck verwendet:

            window.setTimeout("countdown(wielang);",1000)
            hast du den Code probiert?

            Kommentar


            • #7
              window.setInterval("menuPos('"+id+"')",20);
              Funktioniert! Tausend Dank... so einfach!


              hast du den Code probiert?
              hmm Jetzt ja, gleiche Fehlermeldung... funktioniert nur mit der obigen Korrektur...

              Kommentar

              Lädt...
              X