Partage
  • Partager sur Facebook
  • Partager sur Twitter

Problème avec script javascrip

menu arborescent pas cool avec firefox

Sujet résolu
    2 novembre 2006 à 17:35:52

    Bonjour à tous et toutes.

    J'ai réussi à trouvé un script javascript pour pouvoir faire un menu arborescent qui me plait bien malheureusemnt :)il ne fonctionne pas sous Firefox. o_O

    A vrai dire il ne se déplie pas et même je ne peux plus cliquez, il n'y a plus de lien sous firefox. :colere2:

    je vous donne le script javascript :

    <style>
    #foldheader{cursor:hand ; font-weight:bold}
    </style>
    <script language="JavaScript1.2">
    var head="display:''";

    function change(){
    if(!document.all)
    return;
    if (event.srcElement.id=="foldheader") {
    var srcIndex = event.srcElement.sourceIndex;
    var nested = document.all[srcIndex+1];
    if (nested.style.display=="none") {
    nested.style.display='';
    }
    else {
    nested.style.display="none";
    }
    }
    }

    document.onclick=change;
    //dynamicdrive.com
    //Traduction et module générateur : outils-web.com
    </script>
    <!-- fin d'insertion -->
     


    je vous donne maintenant le code de mon menu ( enfin un bout ) situé à gauche dans mon site


    <ul id="menu">
    <li><a href="mafamille.php" title="Ma Maîtresse, mon maître et les deux enfants">Ma famille</a></li>
    <li><a href="albumdefamille.php" title="Mon papa, ma Maman, mes fr&egrave;res et soeur">Album de famille</a></li>
    <li id="foldheader">Le Leonberg</li>
       <ul id="foldinglist" style="display:none" style=&{head};>
       <li><a href=>Alimentation</a></li>
       <li><a href=>Introduction</a></li>
       <li><a href=>Bi</a></li>
       <li><a href=>Croissance</a></li>
       </ul>
    <li><a href="alex_guestbook4/index.php" title="Livre d'or.">Livre d'or</a></li>
    <li><a href="/forum/" title="Le forum.">Forum</a></li>
    <li><a href="formulaire.php" title="Le formulaire de contact : un petit mot au Webmaster et ma&icirc;tre d'Athos.">Formulaire de contact</a></li>

    </ul>


    J'ai d'abord testé le script sur le li le leonberg pour ne pas faire trop de bétises. Le script n'est présent uniquement dans la page d'accueil de mon site

    Donc l'adresse est celle ci Page ou le script est en test : le leonberg

    Merci à vous si vous pouvez m'aider.

    le script fonctionne sous IE et sous AOL mais niet sous FIREFOX :colere2:

    • Partager sur Facebook
    • Partager sur Twitter
    http://escrime-3-frontieres.fr/
    Anonyme
      2 novembre 2006 à 17:54:40

      Tu es sûr ?
      Moi, je peux cliquer sur les liens.

      Par contre, il n'y a aucune "infobulle", mais c'est parce que j'ai désactivé JS ;)

      A plus

      EDIT : Mais sans JS, il fonctionne le menu ?
      • Partager sur Facebook
      • Partager sur Twitter
        2 novembre 2006 à 18:48:37

        En vérité c'est uniquement le menu arborescent qui ne fonctionne pas comme par exemple sur l'image que voici :

        Image utilisateur

        je voudrais tout simplement que sur tous mes liens ca fasse pareil que sur le lien "leonberg" mais malheureuseemnt ca ne fonctionne pas sous firefox

        Pour le moment je n'ia fait qu'un essai sur le lien Leonberg pour pas faire trop de bêtises
        • Partager sur Facebook
        • Partager sur Twitter
        http://escrime-3-frontieres.fr/
          2 novembre 2006 à 22:31:07

          Waaaww le javascript préhistorique !! :D:D
          Déjà inséré du js en faisant: &{head}; ça n'existe plus.
          Efface tout simplement ce code, parce que toute façon, il a l'air de ne servir à rien:

          <ul id="foldinglist" style="display:none;">


          -document.all n'existe que sur ie
          -event.srcElement idem (remplaçable par event.target)
          -sourceIndex aussi
          -il faut écrire le paramètre event dans la fonction

          Pour une raison qui me dépasse (les joies d'internet explorer ^^ ), ma version corrigée pour firefox ne marche pas sur ie ... alors bon, j'ai laissé les deux versions:

          function change_ff(event) {
              var src = event.target || event.srcElement;
              if (src.id=="foldheader") {
                  var nested = src.nextSibling;
                  while( nested.nodeType != 1 && nested ) //Tant que l'on ne tombe pas sur un noeud
                      nested  =   nested.nextSibling;
                  if (nested.style.display=="none") {
                      nested.style.display='';
                  }
                  else {
                      nested.style.display="none";
                  }
              }
          }

          function change_ie(){
          if(!document.all)
          return;
          if (event.srcElement.id=="foldheader") {
          var srcIndex = event.srcElement.sourceIndex;
          var nested = document.all[srcIndex+1];
          if (nested.style.display=="none") {
          nested.style.display='';
          }
          else {
          nested.style.display="none";
          }
          }
          }

          if( document.all)
              document.onclick=change_ie;
          else
              document.onclick=change_ff;
          • Partager sur Facebook
          • Partager sur Twitter
            3 novembre 2006 à 0:17:55

            Merci à toi Boo2M0rs0 :D:D pour ton aide et ca a l'air de fonctionner sous IE et FIREFOX.

            Par contre je n'ai plus la petite main sur l'item "leonberg" :colere2: sous FIREFOX mais j'arrive quand même à dérouler mon arborescence et avoir le cursor main sur les autres items déroulés.

            Encore une petite question: comment est ce je pourrais faire pour que, aprés avoir cliqué sur un des liens et que je suis sur l'autre page avoir encore mon menu arborescent déroulé car pour le moment lorsque je clique sur le lien et que j'arrive sur la page appellée mon menu se replie?

            Bon ce n'est pas grave mais bon.....

            Donc encore 2 questions pour un gros NAZE comme moi :

            1°)Comment faire pour récupérer mon curseur normal ( la main ) sur tous les li notament sous FIREFOX?

            2°)Comment faire pour que mon arborescence reste déroulée lorsque je clique sur un li de mon arborescence et que j'arrive sur ma page appellée?

            Par contre il faudra que je refasse mon CSS pour mon menu car les puces ne sont pas terribles et bien placées!!!!! :-°

            Le lien vers ma page accueil test

            Merci encore à vous

            • Partager sur Facebook
            • Partager sur Twitter
            http://escrime-3-frontieres.fr/
              3 novembre 2006 à 13:08:44

              Citation


              1°)Comment faire pour récupérer mon curseur normal ( la main ) sur tous les li notament sous FIREFOX?


              Tu peux utiliser un style css

              #menu li
              {
                cursor: pointer; /*pointer = la main*/
              }


              Pour le 2°) il faut que tu vois ça du côté de php pour savoir sur quelle page tu te trouve et afficher ou pas "display: none;" en fonction.
              • Partager sur Facebook
              • Partager sur Twitter
                3 novembre 2006 à 14:27:48

                OK problème résolu et Merci à toi :D;)

                J'ai rajouté çà dans ma feuille de style :

                #blocmenu li {
                list-style-image: url(pucepatte.gif);
                margin:0 0 0 1em;
                cursor: pointer; /*pointer = la main*/
                }
                #foldinglist li {
                cursor: pointer; /*pointer = la main*/
                }


                Il ne me reste plus qu'à chercher un peu pour améliorer la position de mon deuxième niveau et à poster dans le forum PHP pour le reste.

                En tout cas, je suis toujours bluffé par les compétences des gens comme toi Boo2M0rs0 qui répondent positivement et qui réglent les soucis :-°

                Encore Merci :D
                • Partager sur Facebook
                • Partager sur Twitter
                http://escrime-3-frontieres.fr/

                Problème avec script javascrip

                × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                • Editeur
                • Markdown