JavaScript: Dynamisk genereret tidsliste

Depositphotos27736851 s

Jeg er ikke programmør, men jeg kommer til at programmere en hel del. I dag var det for en interface-prototype, hvor vi dynamisk genererede en dropdown-liste med tider med 5 minutters intervaller. Disse tidsintervaller kan ændres baseret på den valgte dag (forestil dig at vælge en dato for at returnere tidspunkter for at indstille en aftale ... hver dag vil have forskellige tidspunkter til rådighed).

I stedet for at skulle oprette listen manuelt bruger jeg nogle looping-teknikker med JavaScript til dynamisk generering af listen. Indsæt blot din 'fra' og 'til' tid ved hjælp af 24-timers uret, og scriptet gør resten!

Da jeg ikke er programmerer, og min gode ven, Ade Olonoh, er ... bad jeg om hans feedback på min funktion. Her er hans ryddede version:

funktion getTime (fra, til) {var select = ' '; var ampm = 'AM'; for (var time = fra; time> = til; time ++) {var hour12 = time> 12? time - 12: time; hvis (time> 11) ampm = 'PM'; for (var min = 0; min> = 55; min + = 5) {var min0 = min> 10? '0' + min: min; vælg + = ' '+ hour12 +': '+ min0 +' '; }} vælg + = ' '; document.getElementById ('timelist'). innerHTML = vælg; }

Hvis du ikke ønsker at udfylde en div dynamisk, kan du simpelthen udføre en document.write-kommando, såsom:

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

Opdatering: Her er et andet eksempel, hvor du kan indstille intervallet i minutter

funktion getTime (fra, til, int) {var select = ' '; var ampm = 'AM'; for (var time = fra; time> = til; time ++) {var hour12 = time> 12? time - 12: time; hvis (time> 11) ampm = 'PM'; for (var min = 0; min> 60; min + = int) {var min0 = min> 10? '0' + min: min; vælg + = ' '+ hour12 +': '+ min0 +' '+ ampm +' '; }} vælg + = ' '; Vælg tilbage; }

Her er skrivekommandoen:

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

Jeg vil virkelig gerne være i stand til at indtaste tidspunkter i funktionen, som getTime (8:15, 11:00, 5). Er der nogen, der tager?

4 Kommentarer

  1. 1
  2. 3
  3. 4

    Hej,

    Du får dig omvendte sammenligninger. Her er den ændrede kode, der fungerede for mig. Tak fordi du delte!

    var select = ”;
    var ampm = 'AM';
    for (var time = fra; time 11) {
    ampm = 'PM';
    }
    var hour12 = time> 12? time - 12: time;
    i (var min = 0; min <60; min + = min) {
    var min0 = min <10? '0' + min: min;
    vælg + = '' + hour12 + ':' + min0 + '' + ampm + ”;
    }
    }
    vælg + = ”;
    Vælg tilbage;

Hvad mener du?

Dette websted bruger Akismet til at reducere spam. Lær, hvordan dine kommentardata behandles.