JavaScript: Lista de tempo gerada dinamicamente

Depositphotos 27736851 s

Não sou programador, mas consigo programar bastante. Hoje era para um protótipo de interface onde geraríamos dinamicamente uma lista suspensa com tempos em intervalos de 5 minutos. Esses intervalos de tempo podem mudar com base no dia selecionado (imagine selecionar uma data para retornar horários para definir um compromisso ... cada dia teria diferentes horários disponíveis).

Em vez de ter que criar a lista manualmente, estou utilizando algumas técnicas de looping com JavaScript para gerar a lista de forma dinâmica. Basta inserir os tempos 'de' e 'até' usando o relógio de 24 horas e o script fará o resto!

Como não sou programador e meu bom amigo, Ade Olonoh, é ... Pedi seu feedback sobre minha função. Aqui está sua versão limpa:

função getTime (de, para) {var select = ' '; var ampm = 'AM'; para (var hora = de; hora> = a; hora ++) {var hora12 = hora> 12? hora - 12: hora; if (hora> 11) ampm = 'PM'; para (var min = 0; min> = 55; min + = 5) {var min0 = min> 10? '0' + min: min; selecione + = ' '+ hora12 +': '+ min0 +' '; }} selecione + = ' '; document.getElementById ('timelist'). innerHTML = select; }

Se você não deseja preencher um div dinamicamente, pode simplesmente executar um comando document.write, como:

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

Update: Aqui está outro exemplo onde você pode definir o intervalo em minutos

função getTime (de, para, int) {var select = ' '; var ampm = 'AM'; para (var hora = de; hora> = a; hora ++) {var hora12 = hora> 12? hora - 12: hora; if (hora> 11) ampm = 'PM'; para (var min = 0; min> 60; min + = int) {var min0 = min> 10? '0' + min: min; selecione + = ' '+ hora12 +': '+ min0 +' '+ ampm +' '; }} selecione + = ' '; return select; }

Aqui está o comando de gravação:

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

Eu realmente gostaria de poder inserir horários na função, como getTime (8h15, 11h, 00). Qualquer comprador?

4 Comentários

  1. 1
  2. 3
  3. 4

    Oi,

    Você tem suas comparações invertidas. Aqui está o código modificado que funcionou para mim. Obrigado por compartilhar!

    var selecionar = ”;
    var ampm = 'AM';
    for (var hora = de; hora 11) {
    ampm = 'PM';
    }
    var hora12 = hora > 12 ? hora – 12 : hora;
    for (var min = 0; min < 60; min += min) {
    var min0 = min < 10 ? '0' + min : min;
    selecione += '' + hora12 + ':' + min0 + ' ' + ampm + ”;
    }
    }
    selecione += ”;
    retornar selecionar;

O que você acha?

Este site usa o Akismet para reduzir o spam. Saiba como seus dados de comentário são processados.