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

jQuery Discussion :

Laisser ouvert menu déroulant


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    109
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 109
    Par défaut Laisser ouvert menu déroulant
    Bonjour à vous,

    J'ai un petit Javascript qui gère mon menu déroulant.

    J'aimerai savoir s'il est possible de faire en sorte que quand un sous-menu déroule, il reste ouvert une fois cliqué:

    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
     
    <script type="text/javascript"> 
    <!-- 
    $(document).ready( function () { 
        // On cache les sous-menus 
        // sauf celui qui porte la classe "open_at_load" : 
        $(".navigation ul.subMenu:not('.open_at_load')").hide(); 
        // On sélectionne tous les items de liste portant la classe "toggleSubMenu" 
     
        // et on remplace l'élément span qu'ils contiennent par un lien : 
        $(".navigation li.toggleSubMenu span").each( function () { 
            // On stocke le contenu du span : 
            var TexteSpan = $(this).text(); 
            $(this).replaceWith('<a href="" title="Afficher le sous-menu">' + TexteSpan + '<\/a>') ; 
        } ) ; 
     
        // On modifie l'évènement "click" sur les liens dans les items de liste 
        // qui portent la classe "toggleSubMenu" : 
        $(".navigation li.toggleSubMenu > a").click( function () { 
            // Si le sous-menu était déjà ouvert, on le referme : 
            if ($(this).next("ul.subMenu:visible").length != 0) { 
                $(this).next("ul.subMenu").slideUp("normal", function () { $(this).parent().removeClass("open") } ); 
            } 
            // Si le sous-menu est caché, on ferme les autres et on l'affiche : 
            else { 
                $(".navigation ul.subMenu").slideUp("normal", function () { $(this).parent().removeClass("open") }); 
                $(this).next("ul.subMenu").slideDown("normal", function () { $(this).parent().addClass("open") } ); 
            } 
            // On empêche le navigateur de suivre le lien : 
            return false; 
        }); 
     
    } ) ; 
    // --> 
    </script>
    Merci à vous

  2. #2
    Membre éprouvé
    Avatar de Luke spywoker
    Homme Profil pro
    Etudiant informatique autodidacte
    Inscrit en
    Juin 2010
    Messages
    1 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Etudiant informatique autodidacte

    Informations forums :
    Inscription : Juin 2010
    Messages : 1 077
    Par défaut
    Je crois que je suis complètement hors sujet mais on peut préciser le nombre d'éléments afficher dans une <select>...?
    Il suffit de définir la valeur par l'attribut size.
    Donc:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <form name='selector'>
    <select id='test' size='1'>
    <option>test 1</option>
    <option>test 2</option>
    <option>test 3</option>
    <option>test 4</option>
    <option>test 5</option>
    </select>
    </form>
    <a href='javascript:test()'>test</a>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <script>
    function test() {
     $('#test').attr('size', 5)
    }
    </script>
    Si ca peut t'aider.

Discussions similaires

  1. Menu déroulant ouvert au chargement de la page
    Par fram ozore dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 26/08/2012, 12h25
  2. [menu]faire un menu déroulant
    Par Nadine dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 24/03/2005, 08h33
  3. Dimensions d'un Menu déroulant
    Par polo-j dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 11/02/2005, 14h26
  4. Menu déroulant valeur par défaut
    Par Gourouni dans le forum ASP
    Réponses: 11
    Dernier message: 06/12/2004, 16h31
  5. Menu déroulant suite au passage sur un TMenuItem
    Par James_ dans le forum C++Builder
    Réponses: 2
    Dernier message: 05/05/2004, 14h31

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