superhero: JavaScript > und <= verbinden?

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)";};  

  1. Javascript ist blöde. Du musst jede Bedingung einzeln aufschreiben:

    if (time == 23 && time2 > 50 && time2 <= 55)

    1. Super! Ich danke dir Whouzuo. Funktioniert einwandfrei.

    2. 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)  
      
      
  2. Hallo,

    hast du's mal so versucht:

    if (time == 23 && time2 > 50 && time2 < 56).....

    gruß
    peter

    1. eigentlich sollte auch funktionieren:

      if (time == 23 && ( 50 < time2 <= 55)).....

      gruß
       peter

      1. Hallo Peter,

        danke dir auch vielmals. Geht auch :)

        1. @@superhero:

          nuqneH

          Geht auch :)

          Nein.

          Selbst getestet hast du das nicht, oder?

          Du solltest nicht blindlinks glauben, was irgendwer über JavaScript schreibt. Es sei denn, es ist molily.

          Qapla'

          --
          „Perfektion ist nicht dann erreicht, wenn es nichts mehr hinzuzufügen gibt, sondern wenn man nichts mehr weglassen kann.“ (Antoine de Saint-Exupéry)
          1. 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

          2. Hallo Gunnar,

            blindlinks

            Absicht oder Typo? ;-)
            Falls ersteres: Entschuldige, dass ich den Gag zertrampelt habe.
            Falls letzteres: Sehr schön getroffen!

            Ciao,
             Martin

            --
            Zwischen Leber und Milz
            passt immer noch'n Pils.
            Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
            1. @@Der Martin:

              nuqneH

              Absicht oder Typo? ;-)

              Wie wahsaga zu sagen pflegte: „You'll never know …“

              Qapla'

              --
              „Perfektion ist nicht dann erreicht, wenn es nichts mehr hinzuzufügen gibt, sondern wenn man nichts mehr weglassen kann.“ (Antoine de Saint-Exupéry)
      2. @@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'

        --
        „Perfektion ist nicht dann erreicht, wenn es nichts mehr hinzuzufügen gibt, sondern wenn man nichts mehr weglassen kann.“ (Antoine de Saint-Exupéry)
      3. 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,

  3. @@superhero:

    nuqneH

    "time" sind die Stunden und "time2" die Minuten.

    Die Variablennamen sind also unsinnig. Warum verwendest du keine sprechenden Namen?

    Qapla'

    --
    „Perfektion ist nicht dann erreicht, wenn es nichts mehr hinzuzufügen gibt, sondern wenn man nichts mehr weglassen kann.“ (Antoine de Saint-Exupéry)
  4. 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.