Bonjour,
Soit un menu qui contient parfois des sous-sous-sous... menus avant d'arriver à l'option finale, au point qu'à partir d'un certain niveau, certains libellés - en plus exagérément long mais je n'y peux rien pour le moment - sortent de l'écran par la droite, le dernier niveau n'étant même plus visible et donc inaccessible !
Dans ma feuille de style, j'ai pour le moment ce genre de chose qui met le libellé long sur plusieurs lignes à partir du 4ème niveau de menu :
Mais avec ce code, l'un des sous-menus déplié sort de l'écran par en bas !
Code CSS : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 #custommenu .yui3-menu .yui3-menu-content li li li li a { white-space: normal; width: auto; }
Pour pallier à ça, j'essaie de faire un programme, de préférence en JQuery, qui tronquerait les libellés trop long à 50 caractères et afficherait le libellé complet au passage de la souris.
Mais je n'ai besoin de le faire qu'à partir du niveau de sous-menu donné dans la feuille de style, les précédents ne posant pas de problème.
Pour le moment, j'en suis à ce code Javascript/JQuery :
Code Javascript : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 $(document).ready(function() { $(".yui3-menu-label").each(function(index) { var label = ""; // Libellé actuel de l'option de menu var short_label = ""; // Libellé raccourci aux 50 premiers caractères if($(this).// cascade de style = #custommenu .yui3-menu .yui3-menu-content li li li li a) { label = $(this).text(); short_label = label.substring(0, 49) + "..."; // reste à faire : modification du label de l'option de menu // + affichage du libellé complet au passage de la souris } }); });
Je ne sais même pas quoi mettre dans la recherche sur le forum ou!
Pour le moment, je n'ai trouvé que position() ou offset() mais qui ne conviennent pas car ils donnent des coordonnées X et Y.![]()
Partager