Varible in schleife fehlerhaft
lima-city → Forum → Die eigene Homepage → HTML, CSS & Javascript
anweisung
ausgabe
belegt richtig code
bestimmte voraussetzungen
code
cursor
falsch code
fehler
folgendes problem
funktionieren
gleichen funktion
pointer
richtig belegt code
richtig belegt richtig code
richtig vergeben
stadt
streuner
url
variable code
variable vergeben
-
Halli Hallo,
ich stehe mal wieder auf dem Schlauch, vielleicht kann mich mal einer mit der Nase in den Fehler stupsen.
Es geht wie immer bei mir um JS in Greasemonkey.
Folgendes Problem:
Ich prüfe in mehreren if Anweisungen bestimmte Voraussetzungen und belege unterschiedliche Variablen. Leider wird mir immer nur eine Variable vergeben und ein wird „übergangen“.
Die Variable
wird richtig vergeben.minuten_streunen
Die Variable
wird einfach übergangen und nicht belegt.bg_streuner
Ich vermute mal ich habe irgendwo einen Fehler in den if´s. Wobei ich nicht weiß wo, da eine Variable ja immer belegt wird.
if (stadt == 'sylt') //prüfen ob sylt gespielt wird { if (ht_streuner_off >0) //wenn counter aktiv und größer >0 { var minuten_streunen = 'Noch '+ Math.floor( (ht_streuner_off%3600) / 60 ) +' min streunen'; var bg_streuner = 'style="background-color: #0C0;cursor: pointer;" title="Dein Streuner ist unterwegs"'; // hier ist der Fehler, es wird nichts belegt } if (ht_streuner_off <1) //wenn counter kleiner als 1 { var minuten_streunen = 'Streuner hat Langeweile!!'; var bg_streuner = 'style="background-color: #F00;cursor: pointer;" title="Du kannst den Streuner wieder auf die Reise schicken"';// hier ist der Fehler, es wird nichts belegt } } else { var minuten_streunen = ''; var bg_streuner = ''; }
Die Ausgabe dazu ist folgende:
// der übersicht wegen habe ich mal nur den Teil um den es geht aus der Tabelle gepostet. <td '+bg_ht_wb+''+bg_streuner+'>'+minuten_streunen+'</td>
wird in dem Fall als'+bg_ht_wb+'
belegt. (richtig)bg_ht_wb = '';
wird einfach übergangen. (falsch)'+bg_streuner+'
wird richtig belegt. (richtig)'+minuten_streunen+'
wird richtig ermittelt und vergeben.ht_streuner_off
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Findet die Ausgabe in der gleichen Funktion wie die Belegung statt?
Schau dir mal das hier an: http://www.mredkj.com/tutorials/reference_js_intro_ex.html
Ich vermute
ist schon irgendwo global definiert, wird demzufolge richtig belegt.minuten_streunen
ist nicht global, gilt also nur in der Funktion, und ist dann bei der Ausgabe nicht definiert.bg_streuner
mfg -
Wenn du
verwendest definierst du die Variable dort. Wenn du es dir sparst wird es funktionieren, oder du definierst die Variablen außerhalb der if-Anweisung. Das ganze nennt sich "Gültigkeitsbereiche von Variablen"var
Also in etwa so:var minuten_streunen = ''; var bg_streuner = ''; if(bla bla) … // die Variablen sind richtig belegt
-
hackyourlife schrieb:
Wenn du
verwendest definierst du die Variable dort. Wenn du es dir sparst wird es funktionieren, oder du definierst die Variablen außerhalb der if-Anweisung. Das ganze nennt sich "Gültigkeitsbereiche von Variablen"var
1000 Dank, ohne
geht es jetzt wie gewünscht, allerdings habe ich da mal noch eine Frage.var
Die Variable
wird mitminuten_streunen
definiert und löst den Fehler nicht aus.var
Definert wird
auch nur in der if Anweisung. Warum wird die richtig vergeben und bei der anderen muss ichminuten_streunen
entfernen?var
if (stadt == 'sylt') //prüfen ob sylt gespielt wird { if (ht_streuner_off >0) //wenn counter aktiv und größer >0 { var minuten_streunen = 'Noch '+ Math.floor( (ht_streuner_off%3600) / 60 ) +' min streunen'; bg_streuner = 'style="background-color: #0C0;cursor: pointer;" title="Dein Streuner ist unterwegs"'; // } if (ht_streuner_off <1) //wenn counter kleiner als 1 { var minuten_streunen = 'Streuner hat Langeweile!!'; bg_streuner = 'style="background-color: #F00;cursor: pointer;" title="Du kannst den Streuner wieder auf die Reise schicken"'; } } else { var minuten_streunen = ''; bg_streuner = ''; }
Beitrag zuletzt geändert: 8.11.2012 14:24:37 von aff3m1tw4ff3 -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage