JavaScript > und <= verbinden?
superhero
- javascript
1 Whouzuo0 peter0 Gunnar Bittersmann3 Encoder
Hallo,
ich habe ein kleines Problem. Ich möchte die Zeit in 5 Minuten Intervallen abragen und setzte für alle 5 Minunten einen neuen Backrgound in meine Webseite ein.
In meinem Beispiel versuche ich, die Urzeit von 23:51 bis 23:55 abzufangen.
Das Versuche ich mit Stunde ist gleich 23 und die Minute ist größer als 50 und kleiner oder gleich 55.
Leider funktioniert es so noch nicht. Kann mir jemand bitte helfen?
Wäre klasse :-)
"time" sind die Stunden und "time2" die Minuten.
Hier mein Code:
if (time == 23 && time2 == (>50 && <= 55)) {document.getElementById('container').style.backgroundImage = "url(bg_index/003.jpg)";};
Javascript ist blöde. Du musst jede Bedingung einzeln aufschreiben:
if (time == 23 && time2 > 50 && time2 <= 55)
Super! Ich danke dir Whouzuo. Funktioniert einwandfrei.
Javascript ist blöde. Du musst jede Bedingung einzeln aufschreiben:
if (time == 23 && time2 > 50 && time2 <= 55)
nee, musst du nicht
~~~javascript
if (time == 23 && Math.abs(time2 - 53) < 3)
Hallo,
hast du's mal so versucht:
if (time == 23 && time2 > 50 && time2 < 56).....
gruß
peter
eigentlich sollte auch funktionieren:
if (time == 23 && ( 50 < time2 <= 55)).....
gruß
peter
Hallo Peter,
danke dir auch vielmals. Geht auch :)
@@superhero:
nuqneH
Geht auch :)
Selbst getestet hast du das nicht, oder?
Du solltest nicht blindlinks glauben, was irgendwer über JavaScript schreibt. Es sei denn, es ist molily.
Qapla'
Moin!
Du solltest nicht blindlinks glauben, was irgendwer über JavaScript schreibt. Es sei denn, es ist molily.
Auch dann nicht. Mitdenken und kritisch bewerten ist gefordert.
- Sven Rautenberg
Hallo Gunnar,
blindlinks
Absicht oder Typo? ;-)
Falls ersteres: Entschuldige, dass ich den Gag zertrampelt habe.
Falls letzteres: Sehr schön getroffen!
Ciao,
Martin
@@Der Martin:
nuqneH
Absicht oder Typo? ;-)
Wie wahsaga zu sagen pflegte: „You'll never know …“
Qapla'
@@peter:
nuqneH
eigentlich sollte auch funktionieren:
if (time == 23 && ( 50 < time2 <= 55)).....
Nein. 50 < time2 <= 55
ist immer true.
Der Ausdruck wird von links nach rechts ausgewertet, also als (50 < time2) <= 55
.
50 < time2
liefert true oder false.
Wenn dieser boolesche Wert dann mit dem numerischen Wert 55 verglichen wird, wird er auch in einen numerischen Wert umgewandelt: 1 für true, 0 für false.
Sowohl 1 als auch 0 sind ≤ 55.
Qapla'
eigentlich sollte auch funktionieren:
if (time == 23 && ( 50 < time2 <= 55)).....
funktioniert bei mir auch, allerdings so, dass der Ausdruck immer true ergibt solange nur time==23 stimmt, egal welche Werte time2 annimmt,
@@superhero:
nuqneH
"time" sind die Stunden und "time2" die Minuten.
Die Variablennamen sind also unsinnig. Warum verwendest du keine sprechenden Namen?
Qapla'
Machs anders.
Rechne die die Zahl 60 * Stunde + Minute aus. Die teilst du dann durch 5.
Dann kommt raus
für 0:00 bis 0:04:59 -> 0
für 0:05 bis 0:09:59 -> 1
und so weiter.
Dann hast du in dieser Zahl die Nummer des 5-Minuten Abschnitts am Tag und kannst dann damit irgendwas anstellen.
Wenn du wirklich für alle 288 solcher Zeitabschnitte des Tages ein if schreibst, wirst du doch irre.