11521 sujets

JavaScript, DOM et API Web HTML5

Hello les gens,

Voilà j'ai récupéré le menu de koala64 qui se trouve à cette adresse.
- menu
- javascript
- css

Ce menu est impec! Par contre j'aimerais pouvoir sur une page par exemple, afficher directement un sous-menu par défaut.
N'étant pas un un grand expert du javascript j'ai du mal à tout comprendre comment cela marche.
Je pensais pouvoir appliquer la classe .Montre à une sous-menu <ul> directement, mais j'y ne suis pas arrivé.
Si quelqu'un aurait une idée comment faire.

Merci d'avance.

++
Modérateur
Salut,

Je déplace dans le forum Javascript du fait que ce n'est pas encore un tutoriel d'Alsacréations. Smiley langue

D'ici quelques minutes, je te sors la version de compet'... Smiley lol
Modérateur
La voici... Smiley smile

- menu
- javascript
- css

Pour afficher un ou plusieurs sous-menus par défaut, tu définis la classe 'Montre' sur la liste correspondante comme dans cet exemple...
Tu peux bien sûr en changer suivant la page ou ne pas définir de classe dans le code xhtml. Smiley cligne

A titre d'amélioration, j'ai passé les événements en DOM2, ce qui permet de ne pas se les approprier, j'ai changé le comportement de fermeture des sous-menus (on peut en avoir plusieurs ouverts à la fois) et j'ai amélioré la protection vis à vis des autres scripts...

Si ce que je viens de dire ne te parle pas, ce n'est pas grave, Smiley lol il ne sera pas utile de mettre les mains dans le cambouis (code JS).

J'ai testé le menu sur Firefox, IE5 à IE7 et Opera...
Modifié par koala64 (18 Nov 2006 - 18:40)
Modérateur
et hop ! Après la version de compet', la version de concours... Smiley lol

J'ai changé la méthode de chargement pour y insérer celle-ci, ce qui permet d'avoir un menu opérationnel dès les premiers instants, y compris sur une page lourde... Du coup, j'ai pu supprimer le dernier script se trouvant dans la page xhtml. Smiley cligne

J'en ai profité pour rendre cette méthode compatible avec IE5 parce que ce n'était pas le cas...

- menu (page test avec image lourde - 2.4Mo)
- javascript
- css

Pour la version finale, il faudra attendre la mise à jour du tuto des menus déroulants... J'ai encore pas mal de problème à régler... Smiley rolleyes
Modifié par koala64 (19 Nov 2006 - 11:22)
Joli ! Smiley smile

Par contre, je ne comprends pas pourquoi tu utilises cette méthode de chargement alors que dans ton cas tu n'as qu'une seule fonction à ajouter au chargement.
Modérateur
Ben dans le cas d'un galerie photos (donc une page assez lourde) avec un menu placé en fin de page, ça pose problème au chargement il me semble d'où l'utilité de la méthode... Smiley smile
Modifié par koala64 (19 Nov 2006 - 18:17)
Je ne dis pas le contraire.

Ce que je veux dire, c'est que la partie __load_events est un peu inutile pour toi à mon avis dans ce script étant donné que tu ne l'appelles qu'une seule fois.

De mon point de vue, tu gagnerais en légèreté en utilisant directement la méthode de Dean Edwards dont celle-ci est un wrapper.
Modérateur
Oui, c'est vrai mais si, à l'avenir, je souhaite intégrer d'autres scripts ou étendre celui-ci tout en bénéficiant des mêmes avantages, cette partie va rapidement devenir nécessaire...
Je verrais le moment venu si je continue de l'intégrer ou pas, en fonction de divers avis... C'est discutable en effet vu que ce n'est pas indispensable pour le moment... Maintenant, dois-je prévoir une suite ou non, that is the question... Smiley murf

Le truc, c'est que je vois beaucoup de questions tournant autour des menus déroulants... tout le monde essaie de les paramétrer comme bon leur semble afin de les adapter au mieux à leur site... Je le fais surtout dans un soucis de flexibilité afin de contenter un maximum de personnes... Pour ceux qui ajouteront divers scripts sans se soucier du code existant, il est vrai que ça ne va pas servir... Pour les autres, je pense qu'il était intéressant d'ajouter la compatibilité IE5... Smiley cligne

Par ailleurs, lorsque je regarde un menu tel que celui de Fairytells, le plus en vogue actuellement, il y a un problème majeur : la personnalisation qui est pour le moins ardue... Je l'ai conseillé à pas mal de personnes et j'en ai vu beaucoup l'abandonner au profit d'un menu plus basique parce qu'ils n'arrivent tout simplement pas à l'intégrer correctement dans leur environnement. Je pense que c'est surtout là-dessus qu'il faut jouer si je ne veux pas reproduire ce qui existe déjà. Smiley smile

En somme, va falloir trouver un compromis entre simplicité et flexibilité et surtout expliquer le panel des possibilités ainsi que l'ensemble des contraintes, ce qui va être costaud, je le sens... Smiley confus
Modifié par koala64 (19 Nov 2006 - 19:14)
En effet, ça se tient. Smiley smile

Je crois en tout cas que le problème de choix entre flexibilité et simplicité est récurrent quand on fait de l'informatique... Amuse-toi bien ! Smiley cligne
Modifié par Eldebaran (19 Nov 2006 - 22:11)
Salut tout le monde,

Je n'avais pas eu de temps depuis ma question de revenir sur ce forum, et c'est vraiment impec ce menu. Merci koala64, ça marche du tonnere!!!

++