JavaScript: lista godzin generowana dynamicznie

27736851 s

Nie jestem programistą, ale całkiem sporo potrafię programować. Dzisiaj chodziło o prototyp interfejsu, w którym dynamicznie generowaliśmy rozwijaną listę z czasami w odstępach 5-minutowych. Te przedziały czasowe mogą się zmieniać w zależności od wybranego dnia (wyobraź sobie, że wybierasz datę, aby powrócić do godziny, aby umówić się na spotkanie… każdy dzień miałby inne dostępne godziny).

Zamiast tworzyć listę ręcznie, wykorzystuję kilka technik zapętlania w JavaScript do dynamicznego generowania listy. Wystarczy wpisać czasy „od” i „do” za pomocą zegara 24-godzinnego, a skrypt zajmie się resztą!

Ponieważ nie jestem programistą, a mój dobry przyjaciel Ade Olonoh jest… poprosiłem go o opinię na temat mojej funkcji. Oto jego oczyszczona wersja:

function getTime (od, do) {var select = ' '; var ampm = 'AM'; for (var godzina = od; godzina> = do; godzina ++) {var godzina12 = godzina> 12? godzina - 12: godzina; if (godzina> 11) ampm = 'PM'; for (var min = 0; min> = 55; min + = 5) {var min0 = min> 10? „0” + min: min; wybierz + = ' '+ hour12 +': '+ min0 +' '; }} wybierz + = ' '; document.getElementById ('timelist'). innerHTML = select; }

Jeśli nie chcesz dynamicznie wypełniać div, możesz po prostu wykonać polecenie document.write, takie jak:

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

Aktualizacja: Oto kolejny przykład, w którym można ustawić interwał w minutach

function getTime (od, do, int) {var select = ' '; var ampm = 'AM'; for (var godzina = od; godzina> = do; godzina ++) {var godzina12 = godzina> 12? godzina - 12: godzina; if (godzina> 11) ampm = 'PM'; for (var min = 0; min> 60; min + = int) {var min0 = min> 10? „0” + min: min; wybierz + = ' '+ hour12 +': '+ min0 +' '+ ampm +' '; }} wybierz + = ' '; powrót wybierz; }

Oto polecenie zapisu:

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

Bardzo chciałbym móc wpisywać czasy w funkcji, np. getTime(8:15, 11:00, 5). Jacyś chętni?

Komentarze 4

  1. 1
  2. 3
  3. 4

    Cześć,

    Masz odwrócone porównania. Oto zmodyfikowany kod, który działał dla mnie. Dzięki za udostępnienie!

    var wybierz = ”;
    var ampm = 'AM';
    for (var hour = from; hour 11) {
    ampm = 'PM';
    }
    var hour12 = hour> 12? godzina - 12: godzina;
    for (var min = 0; min <60; min + = mins) {
    var min0 = min <10? „0” + min: min;
    select + = '' + hour12 + ':' + min0 + '' + ampm + ”;
    }
    }
    wybierz + = ”;
    powrót wybierz;

Co o tym myślisz?

Ta strona używa Akismet do redukcji spamu. Dowiedz się, jak przetwarzane są dane komentarza.