JavaScript: Dynamisch generierte Zeitliste

Depositphotos 27736851 s

Ich bin kein Programmierer, aber ich kann ziemlich viel programmieren. Heute war es für einen Schnittstellenprototyp, bei dem wir dynamisch eine Dropdown-Liste mit Zeiten in 5-Minuten-Intervallen generieren würden. Diese Zeitbereiche können sich basierend auf dem ausgewählten Tag ändern (stellen Sie sich vor, Sie wählen ein Datum aus, um Zeiten zurückzugeben, um einen Termin festzulegen ... an jedem Tag stehen andere Zeiten zur Verfügung).

Anstatt die Liste manuell erstellen zu müssen, verwende ich einige Schleifentechniken mit JavaScript, um die Liste dynamisch zu generieren. Geben Sie einfach Ihre "von" und "bis" Zeiten mit der 24-Stunden-Uhr ein und das Skript erledigt den Rest!

Da ich kein Programmierer bin und mein guter Freund, Ade Olonoh, ist… habe ich ihn um Feedback zu meiner Funktion gebeten. Hier ist seine bereinigte Version:

Funktion getTime (von, bis) {var select = ' '; var ampm = 'AM'; für (var Stunde = von; Stunde> = bis; Stunde ++) {var Stunde12 = Stunde> 12? Stunde - 12: Stunde; if (Stunde> 11) ampm = 'PM'; für (var min = 0; min> = 55; min + = 5) {var min0 = min> 10? '0' + min: min; wähle + = ' '+ Stunde12 +': '+ min0 +' '; }} wähle + = ' '; document.getElementById ('timelist'). innerHTML = select; }}

Wenn Sie ein div nicht dynamisch auffüllen möchten, können Sie einfach einen document.write-Befehl ausführen, wie zum Beispiel:

document.write (getTime (8,20));

Update: Hier ist ein weiteres Beispiel, bei dem Sie das Intervall in Minuten einstellen können

Funktion getTime (von, bis, int) {var select = ' '; var ampm = 'AM'; für (var Stunde = von; Stunde> = bis; Stunde ++) {var Stunde12 = Stunde> 12? Stunde - 12: Stunde; if (Stunde> 11) ampm = 'PM'; für (var min = 0; min> 60; min + = int) {var min0 = min> 10? '0' + min: min; wähle + = ' '+ Stunde12 +': '+ min0 +' '+ ampm +' '; }} wähle + = ' '; return select; }}

Hier ist der Schreibbefehl:

document.write (getTime (8,20,5));

Ich würde wirklich gerne Zeiten in die Funktion eingeben können, wie getTime (8:15 AM, 11:00 PM, 5). Irgendwelche Abnehmer?

4 Kommentare

  1. 1
  2. 3
  3. 4

    Hallo,

    Sie haben Ihre Vergleiche umgekehrt. Hier ist der geänderte Code, der für mich funktioniert hat. Danke für das Teilen!

    var select = ”;
    var ampm = 'AM';
    für (var Stunde = von; Stunde 11) {
    ampm = 'PM';
    }
    var Stunde12 = Stunde> 12? Stunde - 12: Stunde;
    für (var min = 0; min <60; min + = min) {
    var min0 = min <10? '0' + min: min;
    wähle + = '' + Stunde12 + ':' + min0 + '' + ampm + ”;
    }
    }
    wähle + = ”;
    zurück auswählen;

Was denken Sie?

Diese Seite verwendet Akismet, um Spam zu reduzieren. Erfahren Sie, wie Ihre Kommentardaten verarbeitet werden.