IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Menu javascript qui disparait


Sujet :

JavaScript

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Décembre 2008
    Messages : 48
    Par défaut 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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    cela ne provient peut être pas de là mais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    c.parentNode.parentNode.parentNode.tagName!='DIV'
    il se peut que certains navigateur retournent div et pas DIV ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    c.parentNode.parentNode.parentNode.tagName.toLowerCase()!='DIV'
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Décembre 2008
    Messages : 48
    Par défaut
    Bien vu , mais cela n'a pas résolu le smilblick !

    ET dans mon CSS qui habille le menu, j'ai vu qu'il existe une propriété du z-index et qui correspondrait au différents niveau de mes frames, j'y ai touché mais le problème reste le même !

  4. #4
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    de la même façon si tu n'as pas de NodeCLeaner sur ta page il est risqué d'utiliser:
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Décembre 2008
    Messages : 48
    Par défaut
    le nodecleaner c'est le truc qui permet de reinitialiser le menu?

  6. #6
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    non ce le truc qui permet de nettoyer le code des noeuds inutiles et reand ainsi le pointeur firstChild crossbrowser
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Décembre 2008
    Messages : 48
    Par défaut
    le but est de cleaner quelle partie du script?

  8. #8
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    aucune, le but est de nettoyer le code html de la page, pas le script
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Décembre 2008
    Messages : 48
    Par défaut
    ah ok, j'avais pas saisi le but du truc !, je vais chercher un peu de doc la dessus

  10. #10
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Décembre 2008
    Messages : 48
    Par défaut
    Je n'ai rien trouvé de super pour l'histoire du nodecleaner, il n'y aurait pas une autre solution?

Discussions similaires

  1. Menu personnalisé qui disparait
    Par ghosty04 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 10/07/2009, 16h52
  2. Menu déroulant qui disparait (compatibilité IE6)
    Par theclear dans le forum Mise en page CSS
    Réponses: 8
    Dernier message: 26/01/2007, 16h42
  3. menu javascript qui chevauche des inputs et listes
    Par jiojioforever dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 09/11/2006, 10h09
  4. [CSS] Menu qui disparait derriere un champ
    Par Pepito dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 06/09/2005, 10h03
  5. [WebForms][Javascript] Une DropDownList qui disparait....
    Par prem's dans le forum Général Dotnet
    Réponses: 6
    Dernier message: 02/03/2005, 10h50

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo