JavaScript: Dynamicky generovaný časový seznam

Depositphotos 27736851 s

Nejsem programátor, ale programování dost zvládám. Dnes to bylo pro prototyp rozhraní, kde bychom dynamicky generovali rozevírací seznam se časy v 5minutových intervalech. Tyto časové rozsahy se mohou měnit na základě zvoleného dne (představte si výběr data pro vrácení časů pro nastavení schůzky ... každý den by měl k dispozici jiné časy).

Místo toho, abych musel seznam vytvářet ručně, využívám některé techniky smyčkování s JavaScriptem k dynamickému generování seznamu. Jednoduše vložte časy „od“ a „do“ pomocí 24hodinového času a zbytek udělá skript!

Jelikož nejsem programátor a můj dobrý přítel, Ade Olonoh, je ... Požádal jsem o jeho zpětnou vazbu k mé funkci. Tady je jeho vyčištěná verze:

funkce getTime (od, do) {var select = ' '; var ampm = 'AM'; for (var hour = from; hour> = to; hour ++) {var hour12 = hour> 12? hodina - 12: hodina; if (hodina> 11) ampm = 'PM'; pro (var min = 0; min> = 55; min + = 5) {var min0 = min> 10? „0“ + min: min; vyberte + = ' '+ hour12 +': '+ min0 +' '; }} vybrat + = ' '; document.getElementById ('timelist'). innerHTML = select; }

Pokud nechcete dynamicky naplnit div, můžete jednoduše udělat příkaz document.write, například:

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

Aktualizace: Zde je další příklad, kdy můžete nastavit interval v minutách

funkce getTime (od, do, int) {var select = ' '; var ampm = 'AM'; for (var hour = from; hour> = to; hour ++) {var hour12 = hour> 12? hodina - 12: hodina; if (hodina> 11) ampm = 'PM'; pro (var min = 0; min> 60; min + = int) {var min0 = min> 10? „0“ + min: min; vyberte + = ' '+ hour12 +': '+ min0 +' '+ ampm +' '; }} vybrat + = ' '; návrat vybrat; }

Tady je příkaz write:

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

Opravdu bych chtěl mít možnost zadat do funkce časy, například getTime (8:15, 11:00, 5). Nějakí příjemci?

4 Komentáře

  1. 1
  2. 3
  3. 4

    Dobrý den,

    Dostali jste obrácené srovnání. Tady je upravený kód, který pro mě pracoval. Děkuji za sdílení!

    var select = ”;
    var ampm = 'AM';
    pro (var hodina = od; hodina 11) {
    ampm = 'PM';
    }
    var hodina 12 = hodina> 12? hodina - 12: hodina;
    pro (var min = 0; min <60; min + = min) {
    var min0 = min <10? „0“ + min: min;
    select + = '' + hour12 + ':' + min0 + '' + ampm + ";
    }
    }
    vyberte + = ”;
    návrat vybrat;

Co si myslíte?

Tyto stránky používají Akismet k omezení spamu. Zjistěte, jak jsou vaše údaje komentářů zpracovávány.