JavaScript: Dynamisk generert tidsliste

Depositphotos 27736851 s

Jeg er ikke programmerer, men jeg får programmere ganske mye. I dag var det for en grensesnittprototype der vi dynamisk genererte en rullegardinliste med tider med 5 minutters intervaller. Disse tidsområdene kan endres basert på den valgte dagen (forestill deg å velge en dato for å returnere tider for å sette en avtale ... hver dag vil ha forskjellige tider tilgjengelig).

I stedet for å måtte opprette listen manuelt, brukte jeg noen looping-teknikker med JavaScript for å generere listen dynamisk. Bare legg inn 'fra' til 'tidene dine ved hjelp av 24-timers klokken, og skriptet gjør resten!

Siden jeg ikke er programmerer, og min gode venn, Ade Olonoh, er ... ba jeg om tilbakemelding på funksjonen min. Her er hans ryddede versjon:

funksjon 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; velg + = ' '+ hour12 +': '+ min0 +' '; }} velg + = ' '; document.getElementById ('timelist'). innerHTML = select; }

Hvis du ikke vil fylle ut en div dynamisk, kan du bare gjøre en document.write-kommando, for eksempel:

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

Oppdatering: Her er et annet eksempel der du kan stille intervallet i minutter

funksjon 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; velg + = ' '+ hour12 +': '+ min0 +' '+ ampm +' '; }} velg + = ' '; retur velg; }

Her er skrivekommandoen:

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

Jeg vil veldig gjerne kunne angi tider i funksjonen, som getTime (8:15, 11:00, 5). Noen som tar?

4 Kommentarer

  1. 1
  2. 3
  3. 4

    Hei,

    Du fikk sammenligningene omvendt. Her er den modifiserte koden som fungerte for meg. Takk for at 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;
    velg + = '' + hour12 + ':' + min0 + '' + ampm + ”;
    }
    }
    velg + = ”;
    retur velg;

Hva tror du?

Dette nettstedet bruker Akismet for å redusere spam. Lær hvordan kommentaren din behandles.