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 :

Recherche javascript menu et sous-menu


Sujet :

JavaScript

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 7
    Par défaut Recherche javascript menu et sous-menu
    Bonjour,

    Actuellement en maintenance d'un programme de beautifier de sources java, je cherche à refaire fonctionner un menu javascript qui m'aider à lier des références croisées à leur utilisation.
    J'ai regardé internet et je n'ai rien trouvé de satisfaisant.
    Je cherche donc à faire apparaître un menu avec éventuellement des sous-menus sur le click d'un href avec un programme javascript dans une page html.
    Par avance merci pour votre aide.

    Salutations.

  2. #2
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 205
    Par défaut
    Bonjour,
    Je cherche donc à faire apparaître un menu avec éventuellement des sous-menus sur le click d'un href avec un programme javascript...
    sur l'événement onclick d'un <button>, plus judicieux qu'une balise <a>, il suffit de faire apparaitre le menu en basculant son display:none en display:block, voilà une façon de faire.

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 7
    Par défaut
    C'est du css?
    Est-ce que cela répond à la problématique des sous-menus ?
    Vous auriez un bout de code montrant l'exemple ?

  4. #4
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 205
    Par défaut
    C'est du css?
    Cela peut être fait exclusivement en CSS.


    Est-ce que cela répond à la problématique des sous-menus ?
    Pas compris le sens de ta question !


    Vous auriez un bout de code montrant l'exemple ?
    Je pense qu'une recherche rapide t'aurais donné un début de code mais pour le principe voilà un exemple rapide
    Code html : 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
    <!doctype html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>Show/Hide Element</title>
    <style>
    #menu {
      display:none;
    }
    </style>
    <script>
    function toogleMenu(){
        var oMenu = document.getElementById('menu');
        oMenu.style.display = oMenu.offsetWidth ? 'none' : 'block';
    }
    </script>
    </head>
    <body>
      <button onclick="toogleMenu()">Menu</button>
      <div id="menu">
        <ul>
          <li>Menu #1</li>
          <li>Menu #2</li>
          <li>Menu #3</li>
        </ul>
      </div>
    </body>
    </html>

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 7
    Par défaut
    Merci. Merci.

    Pour les sous-menus, j'ai besoin de pouvoir afficher un menu dans un menu, ce que j'appelle un sous-menu.

  6. #6
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 205
    Par défaut
    Tu es donc dans une situation classique de menu en CSS

    Exemple classique :
    Code html : 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
    <!doctype html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>CSS Menu classique</title>
    <meta name="Author" content="NoSmoking">
    <style>
    html, body {
      font: 1em/1.25em Verdana;
    }
    #menu {
      line-height: 1.5em;
      cursor: pointer;
    }
    #menu,
    #menu ul {
      position: absolute;
      margin: 0;
      padding: 0.25em;
      min-width: 10em;
      border: 1px solid #abc;
      list-style: none;
      background: #f0f0ff;
    }
    #menu li {
      position: relative;
      padding: 0 .25em;
      background: #fefefe;
    }
    #menu ul {
      left: -9999em;
    }
    #menu li:hover {
      background: #cde;
    }
    #menu li:hover > ul {
      top: 0;
      left: 100%;
    }
    </style>
    </head>
    <body>
      <ul id="menu">
        <li>Menu #1</li>
        <li>Menu #2
          <ul>
            <li>Sous menu #2.1
              <ul>
                <li>Sous menu #2.1.1
                </li>
                <li>Sous menu #2.1.2</li>
              </ul>
            </li>
            <li>Sous menu #2.2</li>
          </ul>
        </li>
        <li>Menu #3</li>
      </ul>
    </body>
    </html>
    il te reste a le combiner avec ce que tu as déjà.

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 7
    Par défaut
    J'ai un code similaire au premier exemple, le voici:

    Code html : 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
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
     
    <HTML>
    <HEAD>
    <TITLE>
    Test de dropdown menu
    </TITLE>
    <style>
    /* Dropdown Button */
    .dropbtn {
        color: black;
        /*padding: 16px;*/
        font-size: 16px;
        border: none;
        cursor: pointer;
    }
     
    /* The container <div> - needed to position the dropdown content */
    .dropdown {
        position: relative;
        display: inline-block;
    }
     
    /* Dropdown Content (Hidden by Default) */
    .dropdown-content {
        display: none;
        position: absolute;
            left: 30px;
        background-color: #f9f9f9;
        min-width: 160px;
        box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
    }
     
    /* Links inside the dropdown */
    .dropdown-content a {
        color: black;
        padding: 12px 16px;
        text-decoration: none;
        display: block;
    }
     
    /* Change color of dropdown links on hover */
    .dropdown-content a:hover {
            background-color: #cde
    }
     
    /* Show the dropdown menu (use JS to add this class to the .dropdown-content container when the user clicks on the dropdown button) */
    .show {
            display:block;
    }
    </style>
    </HEAD>
    <BODY>
    <div class="dropdown">
      <a href="#" onclick="myFunction('myDropdown1')" class="dropbtn">Dropdown</a>
      <div id="myDropdown1" class="dropdown-content">
        <a href="#2">Link 1</a>
    	<div class="dropdown">
    	<a href="#" onclick="myFunction('myDropdown3')" class="dropbtn">Link1.1</a>
    	<div id="myDropdown3" class="dropdown-content">
    		<a href="#2">Link 1.2</a>
    	</div>
    	</div>
        <a href="#3">Link 2</a>
        <a href="#1">Link 3</a>
      </div>
    </div>
     
    <div class="dropdown">
      <a href="#" onclick="myFunction('myDropdown2')" class="dropbtn">Link</a>
      <div id="myDropdown2" class="dropdown-content">
        <a href="#2">Link 4</a>
        <a href="#3">Link 5</a>
        <a href="#1">Link 6</a>
      </div>
    </div>
     
    <script>
    /* When the user clicks on the button, 
    toggle between hiding and showing the dropdown content */
    function myFunction(dropDownLink) {
            document.getElementById(dropDownLink).classList.toggle("show");
    }
     
    // Close the dropdown menu if the user clicks outside of it
    window.onclick = function(event) {
      if (!event.target.matches('.dropbtn')) {
     
        var dropdowns = document.getElementsByClassName("dropdown-content");
        var i;
        for (i = 0; i < dropdowns.length; i++) {
          var openDropdown = dropdowns[i];
          if (openDropdown.classList.contains('show')) {
            openDropdown.classList.remove('show');
          }
        }
      }
    }
    </script>
     
    </BODY>

    Une erreur a été d'inclure la feuille de style css avec un lien <link> au lieu d'avoir le code verbatim dans le html. Le résultat a été de ne pas 'voir' certains changements prendre effet après la modification du fichier css.

    Merci pour votre guidance.

Discussions similaires

  1. Ajouter un menu et sous menu suite au menu popup Profile As
    Par kkt8 dans le forum Eclipse Platform
    Réponses: 7
    Dernier message: 12/04/2013, 14h57
  2. javascript accordion et sous menu sous IE
    Par romdam dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 05/07/2010, 17h45
  3. Menu, avec sous menu et sous sous menu
    Par flolane dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 15/12/2006, 08h57
  4. Aide: Menu et sous Menu
    Par ATTIA dans le forum Composants VCL
    Réponses: 4
    Dernier message: 17/03/2006, 13h33
  5. récupérer dans 1 menu le sous menu séléctionner
    Par vincedjs dans le forum Général JavaScript
    Réponses: 14
    Dernier message: 02/03/2006, 13h53

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