JavaScript: llista de temps generada dinàmicament

Depositphotos 27736851 s

No sóc programador, però puc programar força. Avui era per a un prototip d'interfície on generaríem dinàmicament una llista desplegable amb intervals de 5 minuts. Aquests intervals de temps poden canviar segons el dia seleccionat (imagineu-vos seleccionar una data per tornar les hores per establir una cita ... cada dia tindria horaris diferents disponibles).

En lloc d’haver de crear la llista manualment, utilitzo algunes tècniques de bucle amb JavaScript per generar dinàmicament la llista. Simplement introduïu els vostres horaris de "a" i "a" mitjançant el rellotge de 24 hores, i el guió farà la resta.

Com que no sóc programador i la meva bona amiga, Ade Olonoh, és ... Vaig demanar els seus comentaris sobre la meva funció. Aquí teniu la seva versió neta:

funció getTime (de, a) {var select = ' '; var ampm = 'AM'; for (var hour = de; hour> = to; hour ++) {var hour12 = hour> 12? hora - 12: hora; if (hora> 11) ampm = 'PM'; per a (var min = 0; min> = 55; min + = 5) {var min0 = min> 10? '0' + min: min; seleccioneu + = ' '+ hour12 +': '+ min0 +' '; }} seleccioneu + = ' '; document.getElementById ('llista de temps'). innerHTML = select; }

Si no voleu omplir dinàmicament un div, podeu fer una ordre document.write, com ara:

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

Actualització: aquí hi ha un altre exemple en què podeu definir l'interval en minuts

funció getTime (de, a, int) {var select = ' '; var ampm = 'AM'; for (var hour = de; hour> = to; hour ++) {var hour12 = hour> 12? hora - 12: hora; if (hora> 11) ampm = 'PM'; per a (var min = 0; min> 60; min + = int) {var min0 = min> 10? '0' + min: min; seleccioneu + = ' '+ hour12 +': '+ min0 +' '+ ampm +' '; }} seleccioneu + = ' '; retorn seleccionar; }

Aquí teniu l’ordre d’escriptura:

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

M’agradaria molt poder introduir horaris a la funció, com ara getTime (8:15 AM, 11:00 PM, 5). Alguns usuaris que prenen?

4 Comentaris

  1. 1
  2. 3
  3. 4

    Hola,

    Teniu les comparacions invertides. Aquí teniu el codi modificat que m’ha funcionat. Gràcies per compartir!

    var select = ”;
    var ampm = 'AM';
    per a (var hora = a partir de; hora 11) {
    ampm = 'PM';
    }
    var hora12 = hora> 12? hora - 12: hora;
    per a (var min = 0; min <60; min + = min) {
    var min0 = min <10? '0' + min: min;
    seleccioneu + = '' + hour12 + ':' + min0 + '' + ampm + ”;
    }
    }
    seleccioneu + = ”;
    retorn seleccionar;

Què et sembla?

Aquest lloc utilitza Akismet per reduir el correu no desitjat. Esbrineu com es processa el vostre comentari.