We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 3245
    • 22 Posts
    tu peux le voir dans le code, j’ajoute une classe (hovered) à la liste qui contient la ul qui déroule pendant qu’elle est visible et l’enlève si la li en question n’est pas celle marqué active par wayfinder
    tu peux te passer de tout ça si tu ne marques pas de différence sur les liens dans une li active ou hovered et, bien sûr, changer le nom des class pour celles que tu utilises si tu en utilises

    Je ne connais pas du tout javascript, donc j’ai du mal à te suivre laugh
    J’ai tenté de rajouter ton code dans mon mootools1.3.1.js, mais pas de changement, plus de menu déroulant :s
      • 36404
      • 307 Posts
      salut,

      ach, tu l’as mis avec mootools 1.3 ? parce que c’est sûr que si tu as essayé avec la 1.1 (qui est actuellement sur ton site), rien ne vas se passer...

      et, honnêtement, il faut vraiment travailler avec les dernières versions des frameworks javascript, ne serait que pour une grosse raison, au fur et à mesure que les nouveaux navigateurs arrivent, chacun comme d’hab avec ses petites spécificités, les frameworks les ajoutent dans leur détection du navigateur et, franchement, c’est une des raisons principale pour bosser avec un framework, ne plus se tartiner une page de js juste pour faire fonctionner les script d’un browser à l’autre

      mootools 1.3 détecte donc correctement le petit dernier ie9 là où la 1.2.5 s’arrêtait à ff 1.3.5 et ie8 et la 1.1... à ie7 smiley
      pour une majorité de trucs, pas dramatique mais pour certains, c’est important...

      have swing
        réfléchir avant d'agir
        • 3245
        • 22 Posts
        ach, tu l’as mis avec mootools 1.3 ? parce que c’est sûr que si tu as essayé avec la 1.1 (qui est actuellement sur ton site), rien ne vas se passer...

        et, honnêtement, il faut vraiment travailler avec les dernières versions des frameworks javascript


        Là je fonctionne actuellement avec mootools 1.1 car c’est la seule façon de faire fonctionner mes menus.
        Mais voici les manip que j’ai fait avant de repasser sur mootools 1.1 :
        > copie de mootools1.3.1.js dans le même répertoire que mootools1.1.js
        > modification du header pour inclure la version 1.3.1
        > rajout de ta fonction à la fin du fichier mootools1.3.1.js
        > Vidage du cache

        Les menus ne se déroulant pas, je suis repassé à la version 1.1 en attendant.
        Tu as des pistes ?
          • 36404
          • 307 Posts
          Salut,

          désolé pas là hier... la musique reprend ses droits de temps en temps smiley

          alors, en gros, ce que tu as fait est ce qu’il faut faire en étant bien sûr de ne pas avoir la 1.1 et la 1.3.1 en même temps dans le header.

          la meilleure manière de fonctionner est
          - de mettre le lien vers la feuille mootools dans le head
          - suivi d’un lien vers une feuille que tu appelles comme tu veux (ocs.js par ex) et qui est dans ton dossier js (pense bien à mettre tous ces fichiers en utf-8)

          dans ta feuille de js colle l’intégralité du truc que je t’ai passé, de "window.addEvent..." jusqu’au dernier "});" et ça devrait fonctionner.
          Regarde comment c’est implémenté dans le site que je te... cite plus haut (ou le mien d’ailleurs www.virtual-gadjo.com, il n’ay a pas grand-chose je suis en train de le refaire mais j’y ai mis le même menu)

          si ça ne marche pas, essaye de me coller le truc en ligne avec le tout non-fonctionnel que j’essaye de comprendre pourquoi

          have swing
            réfléchir avant d'agir
            • 3245
            • 22 Posts
            Bonjour,

            Je viens de faire les modifications que tu m’as indiqué, mais rien à faire..

            Le menu que j’utilise actuellement :

            /**
             * Light Menu System v0.1
             * @author Jonathan Schemoul
             * @copyright 2006-2007 Holdiland
             * @license GPL V2 or newer
             */
            var menuEffects = new Class({
                    initialize: function(selector, options) {
                            this.options = Object.extend({
                                    subElement: false,
                                    subElementSelector: 'a'
                            }, options || {})
                            this.selector = selector;
                            this.currTimer = 500;
                            $ES(selector + ' li ul').each(function(el) {
                                    el.setStyles({
                                            'display': 'block'
                                    });
                                    normalHeight = el.offsetHeight;
                                    el.setStyles({
                                            'height': 0,
                                            'overflow': 'hidden'
                                    });
                                    elParent = $(el.parentNode);
                                    
                                    currentMenu = new Fx.Style(el, 'height');
                                    elParent.addEvents({
                                            'mouseover': function(submenu, myParent, targetValue) {
                                                    myParent.addClass('hover');
                                                    submenu.clearTimer();
                                                    submenu.custom(targetValue);
                                            }.pass([currentMenu, elParent, normalHeight]),
                                            'mouseout': function(submenu, myParent, targetValue) {
                                                    myParent.removeClass('hover');
                                                    submenu.clearTimer();
                                                    submenu.custom(targetValue);
                                            }.pass([currentMenu, elParent, 0])
                                    })
                            }.bind(this));
                    }
            });
            function processMenuEffects (){
                    var myMenus = new menuEffects('#myajaxmenu', {
                            subElement: true
                    });
            }
            window.onDomReady(processMenuEffects);
            

            Je peux te donner des identifiants pour te connecter au back end et y jeter un oeil si tu veux bien t’en prendre la peine smiley