Nie som programátor, ale k programovaniu sa dostávam dosť. Dnes to bolo pre prototyp rozhrania, kde by sme dynamicky generovali rozbaľovaciu ponuku so zoznamom časov v 5 minútových intervaloch. Tieto časové rozsahy sa môžu meniť na základe zvoleného dňa (predstavte si výber dátumu, ktorý chcete vrátiť, aby ste nastavili termín ... každý deň bude k dispozícii iný čas).
Namiesto toho, aby som musel zoznam vytvárať manuálne, na dynamické generovanie zoznamu používam niektoré techniky opakovania pomocou JavaScriptu. Jednoducho vložte čas „od“ a „do“ pomocou 24-hodinového času a zvyšok urobí skript!
Pretože nie som programátor a môj dobrý priateľ, Ade Olonoh, je ... Požiadal som o spätnú väzbu k mojej funkcii. Tu je jeho vyčistená verzia:
funkcia getTime (od, do) {var select = ' "; var ampm = 'AM'; pre (var hodina = od; hodina> = do; hodina ++) {var hodina 12 = hodina> 12? hodina - 12: hodina; if (hodina> 11) ampm = 'PM'; pre (var min = 0; min> = 55; min + = 5) {var min0 = min> 10? „0“ + min: min; vyberte + = '+ hodina12 +': '+ min0 +' "; }} vyberte + = ' "; document.getElementById ('timelist'). innerHTML = select; }
Ak nechcete dynamicky napĺňať div, môžete jednoducho urobiť príkaz document.write, napríklad:
document.write (getTime (8,20));
Aktualizácia: Tu je ďalší príklad, kedy môžete nastaviť interval v minútach
funkcia getTime (od, do, int) {var select = ' "; var ampm = 'AM'; pre (var hodina = od; hodina> = do; hodina ++) {var hodina 12 = hodina> 12? hodina - 12: hodina; if (hodina> 11) ampm = 'PM'; pre (var min = 0; min> 60; min + = int) {var min0 = min> 10? „0“ + min: min; vyberte + = '+ hodina12 +': '+ min0 +' + ampm + ' "; }} vyberte + = ' "; návrat vybrať; }
Tu je príkaz write:
document.write (getTime (8,20,5));
Naozaj by som chcel mať možnosť zadávať do funkcie časy, napríklad getTime (8:15, 11:00, 5). Nejakí príjemcovia?
váš kód je nesprávny
tu je ok
ak (hodina> 11) ampm =? PM ?;
var hodina 12 = hodina> 12? hodina - 12: hodina;
Vďaka tbyang!
Aktualizované s časovým intervalom.
Ahoj,
Dostali ste obrátené porovnania. Tu je upravený kód, ktorý pracoval pre mňa. Vďaka za zdieľanie!
var select = ”;
var ampm = 'AM';
pre (var hodina = od; hodina 11) {
ampm = 'PM';
}
var hodina 12 = hodina> 12? hodina - 12: hodina;
pre (var min = 0; min <60; min + = min) {
var min0 = min <10? „0“ + min: min;
select + = '' + hour12 + ':' + min0 + '' + ampm + ";
}
}
vyberte + = ”;
návrat vybrať;