[Résolu][Javascript] Un menu déroulant - Version imprimable +- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org) +-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38) +--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51) +--- Sujet : [Résolu][Javascript] Un menu déroulant (/showthread.php?tid=2468) |
RE: [Javascript] Un menu déroulant - Isenduil - 23-02-2008 Je sais que ce n'est pas ton désir de les réaliser en css mais je me permets de communiquer tout de même un lien à cet effet : CssPlay. Personnellement, j'y ai trouvé plusieurs fois mon bonheur parfois pour des menus relativement complexes (plusieurs niveaux et des effets de survols). Il y a plusieurs liens sur la page qui pointent tous vers des réalisations différentes. Cela va de menus très simple (et parfois très moches, soyons franc) à certaines réalisations réellement complexes et élaborées (en tout cas à mon niveau de css ^^). Les codes sont libres d'utilisation ou presque (de mémoire il suffit de pointer un lien vers le site ou de laisser les commentaires du css qui précisent que le menu est inspiré du site en question). En espérant t'avoir aidé (ou avoir dépanné quelqu'un d'autre)... RE: [Javascript] Un menu déroulant - Valter - 23-02-2008 Oui, moi aussi j'ai été confronté à ce problème... Je n'ai pas beaucoup cherché et j'ai survolé la chose RE: [Javascript] Un menu déroulant - Harparine - 23-02-2008 Salut T'as essayé d'affecter ton mouseover sur #menu dl au lieu de #menu dt ? Parce qu'effectivement, là ton menu descend uniquement lorsque tu es sur le titre de catégorie... RE: [Javascript] Un menu déroulant - Sephi-Chan - 23-02-2008 Je fréquente CSS Play depuis un moment, mais dans mon cas, je tiens vraiment à la beauté conféré par les effets Javascript. Je préfère laisser à CSS la présentation et le dynamisme à Javascript. Si j'affecte l'affichage à #menu dl au lieu de #menu dt, ça ne marche pas tout court. Le but est effectivement que le menu descende uniquement quand on survole son titre. Il doit ensuite remonter quand on ne survole plus son titre ou le contenu du sous menu. Sephi-Chan RE: [Javascript] Un menu déroulant - Anthor - 24-02-2008 Je pense que ça devrait correspondre à ce que tu recherches. Code PHP :
RE: [Javascript] Un menu déroulant - Sephi-Chan - 24-02-2008 Merci Anthor, ta solution - proche de celle qu'avait proposé Zammentur - fonction très bien. Même si l'idée d'utiliser des timeout me déplaisait un peu de prime abord, cela semble être le meilleur moyen de gérer le problème. Cela permet également une plus grande facilité d'utilisation : si l'utilisateur glisse en dehors du menu, il a un petit délai pour se remettre dessus, c'est un problème courant sur certains sites qui utilisent ce genre de menu. Merci encore à tous et à Anthor en particulier, je te mettrais volontiers un +1 mais… c'est déjà fait. J'aurais tout de même quelques questions à te poser pour le dernier bloc : Code PHP :
Sephi-Chan RE: [Javascript] Un menu déroulant - Anthor - 24-02-2008 Je relance la fonction over a chaque fois que tu repasses sur un lien contenu dans le sous menu afin de laisser le menu ouvert et reinitialisé le timeout. Le code vu tes balises serait plus propres comme cela : Code PHP :
En gros on recherche tous les liens contenus dans la balise DL du DT sélectionné, pour ensuite appliqué les fonctions de survol. Après relecture je me dis qu'il y aurait suremement plus propre pour resélectionner le parent DT du lien survolé. RE: [Javascript] Un menu déroulant - Sephi-Chan - 24-02-2008 Merci bien, je vais essayer de retravailler dessus pour mieux cerner tout ça. J'ai été étonné de voir des noms de variables débuter par un dollar. Sephi-Chan RE: [Javascript] Un menu déroulant - Anthor - 24-02-2008 Lol, oui une vieille habitude ! Le plus simple pour la comprendre c'est de commenter ! Code PHP :
RE: [Javascript] Un menu déroulant - Sephi-Chan - 27-02-2008 Merci Anthor pour ce commentaire. Quelque chose m'avait en effet échappé dans ton code, mais après relecture, je m'étais rendu compte de ce qui me dérangeait. Le menu en l'état actuel (visible sur le site de Seelies) est bien mais ne se comporte pas comme je le voudrais exactement. Si on va sur un libellé de menu depuis la partie en bois après avoir déroulé un menu, le suivant s'ouvre puis se ferme aussitôt. Pour que les menus se comportent bien, il faut impérativement les utiliser sagement en allant sur un libellé par le dessous. Je pense reprendre un menu déroulant en CSS plus traditionnel (merci Roworll de m'avoir incité à refaire un tour d'horizon de ce site ) sur lequel je grefferais une surcouche Javascript, je serais au moins sur qu'il fonctionne comme je le souhaite. Sephi-Chan |