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 déroulant qui reste deroulé sur la rubrique [Fait]


Sujet :

JavaScript

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 36
    Points : 23
    Points
    23
    Par défaut menu deroulant qui reste déroulé
    Bonjour j'ai une autre question pour mon menu javascript :
    J'aimerais qu'a certaine page mon menu reste ouvert sur la rubrique en question :
    ex: quand je clique sur "OIGNON, GAMME GROSSISTE" je voudrais que la liste "oignon" du menu reste ouvert. Mais je ne veux pas de frame

    voir mon menu

    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
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    <script type="text/javascript">
    /*
    Created by: Travis Beckham :: http://www.squidfingers.com | http://www.podlob.com
    version date: 06/02/03 :: If want to use this code, feel free to do so,
    but please leave this message intact. (Travis Beckham) 
    */
    // Node Functions
     
    if(!window.Node){
      var Node = {ELEMENT_NODE : 1, TEXT_NODE : 3};
    }
     
    function checkNode(node, filter){
      return (filter == null || node.nodeType == Node[filter] || node.nodeName.toUpperCase() == filter.toUpperCase());
    }
     
    function getChildren(node, filter){
      var result = new Array();
      var children = node.childNodes;
      for(var i = 0; i < children.length; i++){
        if(checkNode(children[i], filter)) result[result.length] = children[i];
      }
      return result;
    }
     
    function getChildrenByElement(node){
      return getChildren(node, "ELEMENT_NODE");
    }
     
    function getFirstChild(node, filter){
      var child;
      var children = node.childNodes;
      for(var i = 0; i < children.length; i++){
        child = children[i];
        if(checkNode(child, filter)) return child;
      }
      return null;
    }
     
    function getFirstChildByText(node){
      return getFirstChild(node, "TEXT_NODE");
    }
     
    function getNextSibling(node, filter){
      for(var sibling = node.nextSibling; sibling != null; sibling = sibling.nextSibling){
        if(checkNode(sibling, filter)) return sibling;
      }
      return null;
    }
    function getNextSiblingByElement(node){
            return getNextSibling(node, "ELEMENT_NODE");
    }
     
    // Menu Functions & Properties
     
    var activeMenu = null;
     
    function showMenu() {
      if(activeMenu){
        activeMenu.className = "";
        getNextSiblingByElement(activeMenu).style.display = "none";
      }
      if(this == activeMenu){
        activeMenu = null;
      } else {
        this.className = "active";
        getNextSiblingByElement(this).style.display = "block";
        activeMenu = this;
      }
      return false;
    }
     
    function initMenu(){
      var menus, menu, text, a, i;
      menus = getChildrenByElement(document.getElementById("menu"));
      for(i = 0; i < menus.length; i++){
        menu = menus[i];
        text = getFirstChildByText(menu);
        a = document.createElement("a");
        menu.replaceChild(a, text);
        a.appendChild(text);
        a.href = "#";
        a.onclick = showMenu;
        a.onfocus = function(){this.blur()};
      }
    }
     
    if(document.createElement) window.onload = initMenu;
    </script>
    Very merci

  2. #2
    Expert confirmé
    Avatar de le_chomeur
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    3 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 3 653
    Points : 4 835
    Points
    4 835
    Par défaut
    passe par un cookies ou par l'url

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 36
    Points : 23
    Points
    23
    Par défaut Menu déroulant qui reste deroulé sur la rubrique
    Bonjour j'ai une autre question pour mon menu javascript :
    J'aimerais qu'a certaine page mon menu reste ouvert sur la rubrique en question :

    ex: quand je clique sur "OIGNON, GAMME GROSSISTE" je voudrais que la liste "oignon" du menu reste ouvert. Mais je ne veux pas de frame

    voir mon menu



    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
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    <script type="text/javascript">
     
     
    if(!window.Node){
    var Node = {ELEMENT_NODE : 1, TEXT_NODE : 3};
    }
     
    function checkNode(node, filter){
    return (filter == null || node.nodeType == Node[filter] || node.nodeName.toUpperCase() == filter.toUpperCase());
    }
     
    function getChildren(node, filter){
    var result = new Array();
    var children = node.childNodes;
    for(var i = 0; i < children.length; i++){
    if(checkNode(children, filter)) result[result.length] = children;
    }
    return result;
    }
     
    function getChildrenByElement(node){
    return getChildren(node, "ELEMENT_NODE");
    }
     
    function getFirstChild(node, filter){
    var child;
    var children = node.childNodes;
    for(var i = 0; i < children.length; i++){
    child = children;
    if(checkNode(child, filter)) return child;
    }
    return null;
    }
     
    function getFirstChildByText(node){
    return getFirstChild(node, "TEXT_NODE");
    }
     
    function getNextSibling(node, filter){
    for(var sibling = node.nextSibling; sibling != null; sibling = sibling.nextSibling){
    if(checkNode(sibling, filter)) return sibling;
    }
    return null;
    }
    function getNextSiblingByElement(node){
    return getNextSibling(node, "ELEMENT_NODE");
    }
     
    // Menu Functions & Properties
     
    var activeMenu = null;
     
    function showMenu() {
    if(activeMenu){
    activeMenu.className = "";
    getNextSiblingByElement(activeMenu).style.display = "none";
    }
    if(this == activeMenu){
    activeMenu = null;
    } else {
    this.className = "active";
    getNextSiblingByElement(this).style.display = "block";
    activeMenu = this;
    }
    return false;
    }
     
    function initMenu(){
    var menus, menu, text, a, i;
    menus = getChildrenByElement(document.getElementById("menu"));
    for(i = 0; i < menus.length; i++){
    menu = menus;
    text = getFirstChildByText(menu);
    a = document.createElement("a");
    menu.replaceChild(a, text);
    a.appendChild(text);
    a.href = "#";
    a.onclick = showMenu;
    a.onfocus = function(){this.blur()};
    }
    }
     
    if(document.createElement) window.onload = initMenu;
    </script>
    merci [biggrin]

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 36
    Points : 23
    Points
    23
    Par défaut
    Merci oui je veux bien..mais on fait ?
    merci

  5. #5
    Expert confirmé
    Avatar de le_chomeur
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    3 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 3 653
    Points : 4 835
    Points
    4 835
    Par défaut
    je te renvois sur cette rubrique :

    http://javascript.developpez.com/faq/?page=navig

    tu as des exemples de sources pour gérer les cookies ou passer par l'url, après tu n'auras plus qu'à appeler la méthode correspondante a ton ton menu ...

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 36
    Points : 23
    Points
    23
    Par défaut
    merci mais si l'internaute desactive les cookies le menu marchera plus ?

  7. #7
    Expert confirmé
    Avatar de le_chomeur
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    3 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 3 653
    Points : 4 835
    Points
    4 835
    Par défaut
    le menu fonctionnera , mais il ne restera pas ouvert sur chaque page , tu peux donc combiner avec le passage en url ...

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 36
    Points : 23
    Points
    23
    Par défaut
    merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Menu déroulant qui se cache derrière le reste de la page (sur IE)
    Par bimaghra dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 10/03/2015, 11h58
  2. Menu déroulant qui déroule pas sur un lien
    Par nhynhy dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 04/02/2009, 15h49
  3. Menu déroulant qui ne reste pas affiché sous ie6
    Par melanoche dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 07/12/2007, 15h08
  4. Menu déroulant qui se déroule sur IE mais pas FF
    Par Webfab dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 10/10/2006, 14h37

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