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








Répondre avec citation




Partager