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?
your code is wrong
here is ok
if (hour > 11) ampm = ?PM?;
var hour12 = hour > 12 ? hour – 12 : hour;
Thanks tbyang!
Updated with a time interval.
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;