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 bi imao različita vremena na raspolaganju).

Umjesto da popis moram ručno izrađivati, 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 da mogu u funkciju unijeti vremena, poput getTime (8:15, 11:00, 5). Ima li koga?

4 Komentari

  1. 1
  2. 3
  3. 4

    Bok,

    Imate obrnute usporedbe. Evo modificiranog koda koji mi je uspio. Hvala na dijeljenju!

    var select = ”;
    var ampm = 'AM';
    za (var sat = od; sat 11) {
    ampm = 'PM';
    }
    var sat12 = sat> 12? sat - 12: sat;
    za (var min = 0; min <60; min + = min) {
    var min0 = min <10? '0' + min: min;
    odaberite + = '' + sat12 + ':' + min0 + '' + ampm + ”;
    }
    }
    odaberite + = ”;
    povratak select;

Što vi mislite?

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