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

Depositphotos 27736851 s

Je ne suis pas programmeur, mais je programme pas mal. Aujourd'hui, c'était pour un prototype d'interface où nous générions dynamiquement une liste déroulante avec des temps à 5 minutes d'intervalle. Ces plages horaires peuvent changer en fonction du jour sélectionné (imaginez que vous sélectionniez une date pour revenir aux 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. Saisissez simplement vos heures « de » et « à » en utilisant l'horloge de 24 heures, et le script fait le reste !

Comme je ne suis pas programmeur et que mon bon ami, Ade Olonoh, l'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 (8h15, 11h00, 5). N'importe quels preneurs?

4 Commentaires

  1. 1
  2. 3
  3. 4

    Salut,

    Vous avez inversé vos comparaisons. Voici le code modifié qui a fonctionné pour moi. Merci d'avoir partagé!

    var sélection = ”;
    var ampm = 'AM';
    pour (var heure = de; heure 11) {
    ampm = 'PM';
    }
    var heure12 = heure> 12? heure - 12: heure;
    pour (var min = 0; min <60; min + = mins) {
    var min0 = min <10? '0' + min: min;
    sélectionnez + = '' + heure12 + ':' + min0 + '' + ampm + ”;
    }
    }
    sélectionnez + = ”;
    revenir sélectionner;

Que pensez-vous?

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