JavaScript: dynamisch gegenereerde tijdlijst

Depositphotos 27736851 s

Ik ben geen programmeur, maar ik kan nogal wat programmeren. Vandaag was het voor een interface-prototype waar we dynamisch een vervolgkeuzelijst zouden genereren met tijden met intervallen van 5 minuten. Deze tijdbereiken kunnen veranderen op basis van de geselecteerde dag (stel je voor dat je een datum selecteert om tijden terug te keren om een ​​afspraak vast te leggen… elke dag zou verschillende beschikbare tijden hebben).

In plaats van de lijst handmatig te moeten maken, gebruik ik enkele looptechnieken met JavaScript om de lijst dynamisch te genereren. Voer eenvoudig uw 'van' en 'tot' tijden in met behulp van de 24-uursklok, en het script doet de rest!

Aangezien ik geen programmeur ben en mijn goede vriend, Ade Olonoh, ... ik vroeg om zijn feedback over mijn functie. Hier is zijn opgeruimde versie:

functie getTime (van, tot) {var select = ' '; var ampm = 'AM'; for (var uur = van; uur> = tot; uur ++) {var uur12 = uur> 12? uur - 12: uur; if (uur> 11) ampm = 'PM'; voor (var min = 0; min> = 55; min + = 5) {var min0 = min> 10? '0' + min: min; selecteer + = ' '+ uur12 +': '+ min0 +' '; }} selecteer + = ' '; document.getElementById ('tijdlijst'). innerHTML = select; }

Als u een div niet dynamisch wilt vullen, kunt u eenvoudig een document.write-opdracht uitvoeren, zoals:

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

Update: hier is nog een voorbeeld waarin u het interval in minuten kunt instellen

functie getTime (from, to, int) {var select = ' '; var ampm = 'AM'; for (var uur = van; uur> = tot; uur ++) {var uur12 = uur> 12? uur - 12: uur; if (uur> 11) ampm = 'PM'; voor (var min = 0; min> 60; min + = int) {var min0 = min> 10? '0' + min: min; selecteer + = ' '+ uur12 +': '+ min0 +' '+ ampm +' '; }} selecteer + = ' '; terug selecteren; }

Hier is het schrijfcommando:

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

Ik zou heel graag tijden in de functie willen invoeren, zoals getTime (8:15 uur, 11:00 uur, 5). Zijn er afnemers?

4 reacties

  1. 1
  2. 3
  3. 4

    Hoi,

    Je hebt je vergelijkingen omgekeerd. Hier is de gewijzigde code die voor mij werkte. Bedankt voor het delen!

    var selecteren = ”;
    var ampm = 'AM';
    for (var hour = from; hour 11) {
    ampm = 'PM';
    }
    var hour12 = uur> 12? uur - 12: uur;
    voor (var min = 0; min <60; min + = min) {
    var min0 = min <10? '0' + min: min;
    selecteer + = '' + uur12 + ':' + min0 + '' + ampm + ”;
    }
    }
    selecteer + = ”;
    terug selecteren;

Wat denk je?

Deze site gebruikt Akismet om spam te verminderen. Ontdek hoe uw reactiegegevens worden verwerkt.