bonjour,
pour améliorer un système, j'ai l'occasion de placer un script JS dans le document ready pour modifier les propriétés des élements affichés.
mon souci :
le rendu d'une page contient une multitude d'élements DIV comme ça (en gros ce rectangle qui représentent des missions ,des cours....) :
Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 <div class="boite"> <div class="groupedate">2020-10-20 : HR/SCIENCE</div> <div class="horaire">08:50-10:20</div> <div class="matiere">Maîtrise de la bio</div> <div class="prof">holeg</div> <div class="salle">Tour perret</div> <div class="txt">HR/SCIENCE=marc,sophie,jackie</div> </div>
Toutes les div de class boite ont la même hauteur et c'est un problème de compréhension visuel pour bcp de gens, et donc je voudrais que cette hauteur soit proportionnelle à la durée.
Notre prestataire nous dit qu'il a la possibilité de rajouter un attribut dans le DIV HORAIRE avec la durée en minutes pour que nous ayons ceci (noubeauté ligne 3) :
Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 <div class="boite"> <div class="groupedate">2020-10-20 : HR/SCIENCE</div> <div class="horaire" duree=90>08:50-10:20</div> <div class="matiere">Maîtrise de la bio</div> <div class="prof">holeg</div> <div class="salle">Tour perret</div> <div class="txt">HR/SCIENCE=marc,sophie,jackie</div> </div>
Problème cette demande est payante par le prestataire...
mon idée est de savoir si on peut faire sans ou pas OU si on laisse le presta ajouter l'attribut DUREE, est-ce que ce sera utile pour nous sachant que l'attribut DUREE n'est pas une norme du w3c pour un champs div ! (peut-être créateur de bug)
Est-ce que en jquery ou simplement JS, je pourrais capter pour CHAQUE div, cette valeur duree ET ensuite allonger le div (sa height) en fonction de la valeur ?
j'ai pensé à ça (écritue expérimentale car la partie en italic, je sais pas comment l'écrire:
// je sélectionne tous les objets div de class boite et pour chacun, je change la height en fonction de l'attribut de chacun$(".boite").css('height', _self.attr( 'duree' ));
est-ce que c'est possible sans la modif du presta ? donc récuper le contenu html du div horaire, en déduire une durée ET ensuite mettre cette durée dans le div boite parent ?
ou faut-il obligatoirement l'attribut 'duree' mais qui n'est pas conventionnel du tout (et payant à faire mettre)
est-ce que ma ligne de code peut marcher ou dois-je faire un truc avec un for each ?
Je rappelle que je n'ai la main que sur la parti js du document ready, je ne peux pas "regénérer" le contenu html (rôle du prestataire)
merci de vos conseils
Partager