JavaScript: dinamički generirani popis vremena

Depositphotos 27736851 s

Nisam programer, ali poprilično programiram. Danas je to bio prototip sučelja gdje bismo dinamički generirali padajući popis s vremenima u intervalima od 5 minuta. Ti se vremenski rasponi mogu mijenjati ovisno o odabranom danu (zamislite da odaberete datum za povratak da biste odredili sastanak ... svaki dan imao bi različita vremena na raspolaganju).

Umjesto da popis moram ručno stvarati, koristio sam neke tehnike petlje s JavaScriptom za dinamičko generiranje popisa. Jednostavno stavite "od" i "do" puta koristeći 24-satni sat, a skripta čini ostalo!

Budući da nisam programer i moj dobar prijatelj, Ade Olonoh, je ... Tražio sam njegove povratne informacije o mojoj funkciji. Evo njegove očišćene verzije:

funkcija getTime (od, do) {var select = ' '; var ampm = 'AM'; za (var sat = od; sat> = do; sat ++) {var sat12 = sat> 12? sat - 12: sat; if (sat> 11) ampm = 'PM'; za (var min = 0; min> = 55; min + = 5) {var min0 = min> 10? '0' + min: min; odaberite + = ' '+ sat12 +': '+ min0 +' '; }} odaberite + = ' '; document.getElementById ('popis vremena'). innerHTML = select; }

Ako ne želite dinamički popuniti div, možete jednostavno napraviti naredbu document.write, kao što je:

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

Ažuriranje: Evo još jednog primjera gdje interval možete postaviti u minutama

funkcija getTime (od, do, int) {var select = ' '; var ampm = 'AM'; za (var sat = od; sat> = do; sat ++) {var sat12 = sat> 12? sat - 12: sat; if (sat> 11) ampm = 'PM'; za (var min = 0; min> 60; min + = int) {var min0 = min> 10? '0' + min: min; odaberite + = ' '+ hour12 +': '+ min0 +' '+ ampm +' '; }} odaberite + = ' '; povratak select; }

Evo naredbe write:

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

Zaista bih volio imati mogućnost unosa vremena u funkciju, poput getTime (8:15, 11:00, 5). Ima li koga?

4 Komentari

  1. 1
  2. 3
  3. 4

    Bok,

    You got you comparisons reversed. Here’s the modified code that worked for me. Thanks for sharing!

    var select = ”;
    var ampm = ‘AM’;
    for (var hour = from; hour 11) {
    ampm = ‘PM’;
    }
    var hour12 = hour > 12 ? hour – 12 : hour;
    for (var min = 0; min < 60; min += mins) {
    var min0 = min < 10 ? '0' + min : min;
    select += '’ + hour12 + ‘:’ + min0 + ‘ ‘ + ampm + ”;
    }
    }
    select += ”;
    return select;

Što vi mislite?

Ova web stranica koristi Akismet za smanjenje neželjene pošte. Saznajte kako se podaci vašeg komentara obrađuju.