HTML, JavaScript, AJAX, jQuery, CSS, Bootstrap, LESS Probleme mit HTML5, Bootstrap oder jQuery ? |
 |

07-10-2010, 20:22
|
 |
BananaJo
Registrierter Benutzer
|
|
Registriert seit: Aug 2008
Beiträge: 344
|
|
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(), 10, variable1);
|

07-10-2010, 20:55
|
wahsaga
 Moderator
|
|
Registriert seit: Sep 2001
Beiträge: 25.236
|
|
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
|

07-10-2010, 21:09
|
Kropff
  Administrator
|
|
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.727
|
|
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
|

07-10-2010, 22:34
|
h3ll
Registrierter Benutzer
|
|
Registriert seit: Mar 2008
Beiträge: 3.611
|
|
Zitat:
Zitat von Kropff
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);
|

07-10-2010, 22:49
|
Kropff
  Administrator
|
|
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.727
|
|
Zitat:
Zitat von h3ll
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
|

09-10-2010, 19:25
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.709
|
|
Hallo allerseits,
ich melde mich mal aus dem Urlaub zurück.
Zitat:
Zitat von Kropff
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
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt? 
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke! 
|

09-10-2010, 19:40
|
Kropff
  Administrator
|
|
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.727
|
|
Zitat:
Zitat von AmicaNoctis
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
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
Themen-Optionen |
|
Thema bewerten |
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
|
PHP News
|