setinterval Funktion mit Parameter aufrufen?!

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • 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?

    Comment


    • #3
      hmmm...

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

      oder

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

      funktionieren nicht?!?! :-(

      Hast Du vielleicht noch einen Tipp?

      Gruß
      Bus

      Comment


      • #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.

        Comment


        • #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)

          Last edited by busstop; 19-04-2005, 10:49.

          Comment


          • #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?

            Comment


            • #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...

              Comment

              Working...
              X