JavaScript: Динамично генериран списък с часове

Depositphotos 27736851 с

Не съм програмист, но стигам до програмирането доста. Днес беше за прототип на интерфейс, където динамично генерирахме падащ списък с времена с интервали от 5 минути. Тези интервали от време могат да се променят в зависимост от избрания ден (представете си да изберете дата за връщане на часове, за да зададете среща ... всеки ден ще има различни часове на разположение).

Вместо да се налага да създавам списъка ръчно, аз използвам някои техники за цикъл с JavaScript за динамично генериране на списъка. Просто въведете вашите "от" и "до" времена, като използвате 24-часов часовник, а скриптът прави останалото!

Тъй като не съм програмист, а моят добър приятел, Аде Олонох, е ... Поисках отзивите му за моята функция. Ето неговата изчистена версия:

функция getTime (от, до) {var select = ' '; var ampm = 'AM'; за (var час = от; час> = до; час ++) {var час12 = час> 12? час - 12: час; if (час> 11) ampm = 'PM'; за (var min = 0; min> = 55; min + = 5) {var min0 = min> 10? '0' + мин: мин; изберете + = ' '+ час12 +': '+ мин0 +' '; }} изберете + = ' '; document.getElementById ('timelist'). innerHTML = select; }

Ако не искате да попълвате динамично div, можете просто да направите команда document.write, като например:

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

Актуализация: Ето още един пример, при който можете да зададете интервала в минути

функция getTime (от, до, int) {var select = ' '; var ampm = 'AM'; за (var час = от; час> = до; час ++) {var час12 = час> 12? час - 12: час; if (час> 11) ampm = 'PM'; за (var min = 0; min> 60; min + = int) {var min0 = min> 10? '0' + мин: мин; изберете + = ' '+ hour12 +': '+ min0 +' '+ ampm +' '; }} изберете + = ' '; връщане изберете; }

Ето командата за запис:

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

Наистина бих искал да мога да въвеждам времена във функцията, като getTime (8:15 AM, 11:00 PM, 5). Вземащи?

4 Коментари

  1. 1
  2. 3
  3. 4

    Здравейте,

    Имате обратни сравнения. Ето модифицирания код, който работи за мен. Благодаря за споделянето!

    var select = ”;
    var ampm = 'AM';
    за (var час = от; час 11) {
    ampm = 'PM';
    }
    var час12 = час> 12? час - 12: час;
    за (var min = 0; min <60; min + = min) {
    var min0 = min <10? '0' + мин: мин;
    изберете + = '' + час12 + ':' + мин0 + '' + ampm + ”;
    }
    }
    изберете + = ”;
    връщане изберете;

Какво мислите?

Този сайт използва Akismet за намаляване на спама. Научете как се обработват данните за коментарите ви.