Kann man eine Variable per setInterval() übergeben?

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

  • Kann man eine Variable per setInterval() übergeben?

    Hi,

    ich rufe eine Funktion per setInterval() auf, müchte dieser aber eine variable übergeben, weil ich diese später brauche..

    geht das denn?? ich schätze mal nicht.. wie kann ich das denn noch machen?

    also ich stelle mit soetwas vereinfacht vor

    PHP-Code:

    setInterval
    (meineFunktion(), 10variable1); 

  • #2
    http://aktuell.de.selfhtml.org/artik...ures-anwendung
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      das hängt von deiner Vorgehensweise ab. Ist die Variable global verfügbar oder nicht?
      PHP-Code:
      function meineFunktion()
      {
        
      console.log(variable);
      }
      // global verfügbar, Übergabe nicht notwendig
      var variable 'blubb';
      setInterval("meineFunktion()"10); 
      PHP-Code:
      function meineFunktion(wert)
      {
        
      console.log(wert);
      }
      function 
      machWas()
      {
        
      // lokal verfügbar
        
      var variable 'blubb';
        
      setInterval("meineFunktion('" variable "')"10);  
      }
      machWas(); 
      Peter

      PS: für console.log brauchst du z.B. Firebug
      Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
      Meine Seite

      Kommentar


      • #4
        Zitat von Kropff Beitrag anzeigen
        PHP-Code:
        function meineFunktion(wert)
        {
          
        console.log(wert);
        }
        function 
        machWas()
        {
          
        // lokal verfügbar
          
        var variable 'blubb';
          
        setInterval("meineFunktion('" variable "')"10);  
        }
        machWas(); 
        Wird spätestens dann problematisch, wenn die Variable Hochkomma enthält. Deutlich besser:

        PHP-Code:
        var variable 'foobar';
        setInterval(function() { meineFunktion(variable); }, 10); 

        Kommentar


        • #5
          Zitat von h3ll Beitrag anzeigen
          Wird spätestens dann problematisch, wenn die Variable Hochkomma enthält. Deutlich besser:

          PHP-Code:
          var variable 'foobar';
          setInterval(function() { meineFunktion(variable); }, 10); 
          Ich weiß, aber da gibt es ein Problem. Darum bin ich ein wenig vorsichtig, da ich nicht das Knowhow des TS kenne.

          Peter

          PS: Das von Anja vorgeschlagene
          PHP-Code:
          window.setTimeout("obj.methode()"1000); 
          führt übringens zu einer Fehlermeldung.
          Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
          Meine Seite

          Kommentar


          • #6
            Hallo allerseits,

            ich melde mich mal aus dem Urlaub zurück.

            Zitat von Kropff Beitrag anzeigen
            PS: Das von Anja vorgeschlagene
            PHP-Code:
            window.setTimeout("obj.methode()"1000); 
            führt übringens zu einer Fehlermeldung.
            Das klingt, als hättest du vergessen, obj im globalen Scope zu definieren (oder zumindest zu deklarieren).

            Gruß,

            Amica
            [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
            Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
            Super, danke!
            [/COLOR]

            Kommentar


            • #7
              Zitat von AmicaNoctis Beitrag anzeigen
              Das klingt, als hättest du vergessen, obj im globalen Scope zu definieren (oder zumindest zu deklarieren)
              Oder an anderer Stelle zu überschreiben. Ist mir gestern Abend auch aufgefallen. Vor sich hin zu programmieren und dabei ein paar Bierchen kippen kommt nicht so gut.

              Peter
              Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
              Meine Seite

              Kommentar

              Lädt...
              X