JavaScript: elenco temporale generato dinamicamente

27736851 s

Non sono un programmatore, ma riesco a programmare un bel po '. Oggi era per un prototipo di interfaccia in cui genereremmo dinamicamente un elenco a discesa con tempi a intervalli di 5 minuti. Questi intervalli di tempo possono cambiare in base al giorno selezionato (immagina di selezionare una data per restituire gli orari per fissare un appuntamento ... ogni giorno avrebbe orari diversi disponibili).

Invece di dover creare l'elenco manualmente, utilizzo alcune tecniche di looping con JavaScript per generare dinamicamente l'elenco. Inserisci semplicemente i tuoi orari "da" e "a" utilizzando l'orologio a 24 ore e lo script farà il resto!

Dato che non sono un programmatore e il mio buon amico, Ade Olonoh, è ... ho chiesto il suo feedback sulla mia funzione. Ecco la sua versione ripulita:

funzione getTime (da, a) {var select = ' '; var ampm = "AM"; for (var hour = from; hour> = to; hour ++) {var hour12 = hour> 12? ora - 12: ora; if (ora> 11) ampm = 'PM'; for (var min = 0; min> = 55; min + = 5) {var min0 = min> 10? '0' + min: min; seleziona + = " '+ ora12 +': '+ min0 +' '; }} seleziona + = " '; document.getElementById ('timelist'). innerHTML = seleziona; }

Se non vuoi popolare dinamicamente un div, puoi semplicemente eseguire un comando document.write, come ad esempio:

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

Aggiornamento: ecco un altro esempio in cui è possibile impostare l'intervallo in minuti

funzione getTime (from, to, int) {var select = ' '; var ampm = "AM"; for (var hour = from; hour> = to; hour ++) {var hour12 = hour> 12? ora - 12: ora; if (ora> 11) ampm = 'PM'; for (var min = 0; min> 60; min + = int) {var min0 = min> 10? '0' + min: min; seleziona + = " '+ ora12 +': '+ min0 +' '+ ampm +' '; }} seleziona + = " '; ritorno selezionare; }

Ecco il comando di scrittura:

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

Mi piacerebbe davvero poter inserire orari nella funzione, come getTime (8:15 AM, 11:00 PM, 5). Eventuali acquirenti?

Commenti

  1. 1
  2. 3
  3. 4

    Ciao,

    Hai invertito i confronti. Ecco il codice modificato che ha funzionato per me. Grazie per la condivisione!

    var select = ";
    var ampm = "AM";
    for (var hour = from; hour 11) {
    ampm = "PM";
    }
    var hour12 = ora> 12? ora - 12: ora;
    for (var min = 0; min <60; min + = min) {
    var min0 = min <10? '0' + min: min;
    seleziona + = '' + ora12 + ':' + min0 + '' + ampm + ";
    }
    }
    seleziona + = ";
    ritorno selezionare;

Cosa ne pensi?

Questo sito utilizza Akismet per ridurre lo spam. Scopri come vengono elaborati i dati dei tuoi commenti.