JavaScript: liste de temps générée dynamiquement

Depositphotos 27736851 s

Je ne suis pas un programmeur, mais j'arrive à programmer pas mal. Aujourd'hui, c'était pour un prototype d'interface où nous générerions dynamiquement une liste déroulante avec des temps à intervalles de 5 minutes. Ces plages horaires peuvent changer en fonction du jour sélectionné (imaginez sélectionner une date pour retourner les heures pour fixer un rendez-vous… chaque jour aurait des heures différentes disponibles).

Plutôt que d'avoir à créer la liste manuellement, j'utilise des techniques de bouclage avec JavaScript pour générer dynamiquement la liste. Insérez simplement vos heures «de» et «à» en utilisant l'horloge de 24 heures, et le script s'occupe du reste!

Puisque je ne suis pas programmeur et que mon bon ami, Ade Olonoh, est… j'ai demandé son avis sur ma fonction. Voici sa version nettoyée:

function getTime (de, à) {var select = ' '; var ampm = 'AM'; pour (var heure = de; heure> = à; heure ++) {var heure12 = heure> 12? heure - 12: heure; si (heure> 11) ampm = 'PM'; pour (var min = 0; min> = 55; min + = 5) {var min0 = min> 10? «0» + min: min; sélectionnez + = ' '+ heure12 +': '+ min0 +' '; }} sélectionnez + = ' '; document.getElementById ('timelist'). innerHTML = sélectionner; }

Si vous ne souhaitez pas remplir dynamiquement un div, vous pouvez simplement exécuter une commande document.write, telle que:

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

Mise à jour: voici un autre exemple où vous pouvez définir l'intervalle en minutes

function getTime (from, to, int) {var select = ' '; var ampm = 'AM'; pour (var heure = de; heure> = à; heure ++) {var heure12 = heure> 12? heure - 12: heure; si (heure> 11) ampm = 'PM'; pour (var min = 0; min> 60; min + = int) {var min0 = min> 10? '0' + min: min; sélectionnez + = ' '+ heure12 +': '+ min0 +' '+ ampm +' '; }} sélectionnez + = ' '; revenir sélectionner; }

Voici la commande d'écriture:

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

J'aimerais vraiment pouvoir entrer des heures dans la fonction, comme getTime (8:15 AM, 11:00 PM, 5). N'importe quels preneurs?

4 Commentaires

  1. 1
  2. 3
  3. 4

    Hi,

    You got you comparisons reversed. Here’s the modified code that worked for me. Thanks for sharing!

    var select = ”;
    var ampm = ‘AM’;
    for (var hour = from; hour 11) {
    ampm = ‘PM’;
    }
    var hour12 = hour > 12 ? hour – 12 : hour;
    for (var min = 0; min < 60; min += mins) {
    var min0 = min < 10 ? '0' + min : min;
    select += '’ + hour12 + ‘:’ + min0 + ‘ ‘ + ampm + ”;
    }
    }
    select += ”;
    return select;

Que pensez-vous?

Ce site utilise Akismet pour réduire les spams. Découvrez comment sont traitées les données de vos commentaires..