Menu javascript qui disparait
Bonjour,
Bonjour, j'ai un menu sur une page html/php. Il est vertical avec des sous menu déroulant vers la droite sur certains items.
Il est contenu dans une frame a gauche et ma page doit s'afficher au milieu dans une frame.
Lorsque je clique sur un item du sous menu, la page s'affcihe au milieu, jusque la pas de problème.
Mais les sous menu se désactivent en même temps et je dois retourner a la page d'accueil pour les rerendre actifs.
On dirait une perte de focus mais je ne sais pas comment régler ca. Quelq'un aurait une idée? Voici le code PHP puis javascript:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| <div id="menu_image">
<div id="menu">
<ul>
<li><a href="accueil.php">Accueil</a></li>
<li onmouseover="montre('visualisation',true);" onmouseout="montre('visualisation',false);">Visualisation
<ul id="visualisation">
<li><a href="visualisation_g_admin.php">Vue Générale</a></li>
<li><a href="visualisation_inc_base.php">Inconnus</a></li>
<li><a href="visualisation_archives.php">Archives</a></li>
<li><a href="visualisation_hub.php">Hubs</a></li>
<li><a href="visualisation_logs.php">Logs</a></li>
</ul>
<li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li>
<li><a href="deconnexion.php">Deconnexion</a></li>
</ul>
</div>
</div> |
et le code javascript:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
|
//au chargement de la page, on appelle la fonction montre()
window.onload=montre;
//affichage du menu déroulant et placement de ce dernier
function montre(id,affiche)
{
var d = document.getElementById(id);
//si on quitte un élément du menu
if (d && !affiche)
{
d.style.display='none'; //on l'efface
var c=d.parentNode; //son parent
if (c.parentNode.parentNode.parentNode.tagName!='DIV') //si c'est un sous-menu, on rend à son parent les couleurs d'origine
{
c.firstChild.style.color='#39f';
c.firstChild.style.background='#fff';
}
}
//sinon si on se mets sur un élément du menu
else if (d && affiche)
{
d.style.display='block'; //on l'affiche
var c=d.parentNode; //son parent
if (c.parentNode.parentNode.parentNode.tagName!='DIV') //si c'est un sous-menu, on donne à son parent les couleurs de survol
{
c.firstChild.style.color='#fff';
c.firstChild.style.background='#39f';
}
}
} |
merci par avance de jeter un oeil :calim2: