Menu dynamique déroulant

ajor Messages postés 90 Date d'inscription mercredi 22 décembre 2004 Statut Membre Dernière intervention 19 août 2020 - 21 mai 2008 à 13:01
nicomilville Messages postés 3472 Date d'inscription lundi 16 juillet 2007 Statut Membre Dernière intervention 28 février 2014 - 26 mai 2008 à 19:39
Bonjour à tous,
Je souhaiterais inclure un menu déroulant sur mon site PHP/MySQL. On m'a dit que c'était assez facile à faire avec Javascript, mais comme je rame, et ben je galère pas mal...

J'ai trouvé plusieurs menus déroulant ici mais je n'en ai pas trouvé un dynamique.

Alors je vais expliquer en détail. Le menu est créé dynamiquement et pourra changer car il dépend des rubriques qu'insérera l'administrateur du site que je suis en train de concevoir.
Ce menu est conçu de rubriques et de sous rubriques, qui créé un menu du type de celui-ci:

TITRE1
   SOUSTITRE1
   SOUSTITRE2
   SOUSTITRE3
TITRE2
   SOUSTITRE1
   SOUSTITRE2
TITRE3
TITRE4
   SOUSTITRE1
   SOUSTITRE2

Si ça peut aider, je vous montre le code du fichier menu.html


                                         *  : #TITRE
                
                    
                     |
                                            <li>#TITRE</li>
                     |    
                                            <li>#TITRE</li>
                     |
                    </THELIA_BLOC_SOUS_MENU>
                        <li class=\"invisibleW3C\">&amp;nbsp;</li>    
                    
                
                </THELIA_MENU_RUBRIQUES>
                                 *  : #TITRE
             |
            

        


Voila le but est d'obtenir un menu du genre:

TITRE1
TITRE2
TITRE3
TITRE4

et, par exemple qu'au passage de la souris du TITRE2, on obtienne:

TITRE1
TITRE2
   SOUSTITRE1
   SOUSTITRE2
TITRE3
TITRE4

Voilà, je remercie par avance ceux qui voudront bien me filer un coup de main...

Ajor

7 réponses

nicomilville Messages postés 3472 Date d'inscription lundi 16 juillet 2007 Statut Membre Dernière intervention 28 février 2014 36
21 mai 2008 à 13:30
Salut,

pour que tes sous menu s'affichent au passage de la souris sur le menu utilise l'évènement css "hover" et la propriété "display" !!!

a++

Si la réponse vous convient, pensez : Réponse accèpté !
Un forum...
0
ajor Messages postés 90 Date d'inscription mercredi 22 décembre 2004 Statut Membre Dernière intervention 19 août 2020
21 mai 2008 à 13:51
Merci!

Je suis vraiment débutant en Javascript, donc j'ai besoin d'un petit peu d'aide pour utiliser ces fonctions
Si j'ai bien compris, je place le code suivant au début de ma page:

<script
type="text/javascript">



<!--
/******** Debut du script du menu ************/
var timer = null;
var objOut = null;
 
function mouseOut(obj)
{
var elmt = document.getElementById(obj.id+"Item");
elmt.style.display = "none";

document.getElementById(obj.id+"Titre").className="titreMenu itemOut";
 
//instruction a placer a la fin de la fonction
timer = null;
}
 
function fout(obj)
{
objOut = obj;
if (timer==null)
{
timer = setTimeout("mouseOut(objOut)","1000");
}
}
 
 
function fover(obj)
{
var elmt;
clearTimeout(timer);
timer = null;
 
elmt = document.getElementById(obj.id+"Item");
elmt.style.display = "block";
 
document.getElementById(obj.id+"Titre").className="titreMenu itemOver";
 
if (objOut!=obj && objOut!=null)
{
mouseOut(objOut);
}
}
/******** Fin du script du menu ************/
//-->




</script>

Puis je place dans le code (copié plus haut) quelque chose comme ça:






class="menu"id="Menu1"onmouseout="fout(this)"onmouseover="fover(this)">





class="titreMenu itemOut"id="Menu1Titre">Menu 1

class="contenuMenu"id="Menu1Item">

class="itemOut"onmouseout="this.className='itemOut'"onmouseover="this.className='itemOver'">href="#"class="lienMenu">Sous menu 11

 

J'ai du mal à savoir comment adapter ce code au miens.
Mais déjà, est-ce que c'est vraiment faisable?
Ajor
0
nicomilville Messages postés 3472 Date d'inscription lundi 16 juillet 2007 Statut Membre Dernière intervention 28 février 2014 36
21 mai 2008 à 14:02
c'est tout a fait possible !

essai ce code et si ça ne marche pas, dit nous les erreurs que tu as !

a++









Si la réponse vous convient, pensez :

réponse accèpté

!

Un forum...
0
ajor Messages postés 90 Date d'inscription mercredi 22 décembre 2004 Statut Membre Dernière intervention 19 août 2020
26 mai 2008 à 19:07
Bonjour à tous,

Alors j'ai essayé plusieurs trucs, mais je n'y arrive pas...

Voici le code de mon menu:

<!-- menu général-->

<script type= "text/javascript">                 
<!--
/******** Debut du script du menu ************/
var timer = null;
var objOut = null;
 
function mouseOut(obj)
{
   var elmt = document.getElementById(obj.id+"Item");
   elmt.style.display = "none";
 
   document.getElementById(obj.id+"Titre").className="titreMenu itemOut";
 
   //instruction a placer a la fin de la fonction
   timer = null;
}
 
function fout(obj)
{
   objOut = obj;
   if (timer==null)
   {
      timer = setTimeout("mouseOut(objOut)","1000");
   }
}
 
 
function fover(obj)
{
   var elmt;
   clearTimeout(timer);
   timer = null;
 
   elmt = document.getElementById(obj.id+"Item");
   elmt.style.display = "block";
 
   document.getElementById(obj.id+"Titre").className="titreMenu itemOver";
 
   if (objOut!=obj &amp;&amp; objOut!=null)
   {
      mouseOut(objOut);
   }
}
/******** Fin du script du menu ************/
//-->                                  
</script>

        

                                          *  : #TITRE
               
                    
                   
                     |
                   
                                        <li>#TITRE</li>
                    |
                   
                       
                                            <li>#TITRE</li>
                    |
                   
                    </THELIA_BLOC_SOUS_MENU>
                        <li class =\"invisibleW3C\">&amp;nbsp;</li>   
                       
                    
               
                </THELIA_MENU_RUBRIQUES>
                                 *  : #TITRE
            |
           

        


Les sous menus ne disparaissent pas, et je ne comprend pas pourquoi...
Ce code ne produit aucun changement sur le résultat (comparé au code de mon premier post)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
nicomilville Messages postés 3472 Date d'inscription lundi 16 juillet 2007 Statut Membre Dernière intervention 28 février 2014 36
26 mai 2008 à 19:27
ba je vois pas, tu m'a embrouillé, je ne connais pas les balises THELIA_MENU_CONTENU etc...

a++

Si la réponse vous convient, pensez : Réponse accepté !
0
ajor Messages postés 90 Date d'inscription mercredi 22 décembre 2004 Statut Membre Dernière intervention 19 août 2020
26 mai 2008 à 19:36
Il me semble que ce sont des balises HTML qui respectent le standard XHTML

Au début de ma page j'ai ça:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

<head>
0
nicomilville Messages postés 3472 Date d'inscription lundi 16 juillet 2007 Statut Membre Dernière intervention 28 février 2014 36
26 mai 2008 à 19:39
je ne sais pas, ce n'ai pas répertorié dans les balises xhtml valides !

a++

Si la réponse vous convient, pensez : Réponse accepté !
0
Rejoignez-nous