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 :

[Menu] Changement d'image et SlideToggle associer a un click


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 4
    Par défaut [Menu] Changement d'image et SlideToggle associer a un click
    Bonjour, j'espère que mon titre est assez explicite.

    Alors voila, j'ai un menu (inspiré d'un tuto de ce site justement) qui se déroule avec un click sur l'entête sur menu. Comme c'est un menu que je voudrais personnaliser j'ai changer l'image de l'entête du menu et (c'est la ou je bloque) je voudrais que pendant que le menu se déplie ou se replie l'image de l'entête change.

    J'ai 2 images pour l'entête : une quand le menu est replier, et l'autre quand il est déplier et je voudrais donc alterner l'affichage de ces 2 images en fonction de l'état du menu (replier ou déplier)

    Le script en jquery que j'ai pour l'instant effectue ce changement d'images quand je déplie le menu puis quand je le replie mais cette action ne s'effectue qu'une seule fois... quand je reclick pour déplier le menu celui-ci se déroule normalement mais l'image de l'entête ne change plus.

    Passons au code :
    jquery code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <script type="text/javascript">
    $(document).ready(function () {
       $('img.menu_head').click(function () {
        	$("img.menu_head").attr("src","./images/parchemin_haut.gif");
            $('ul.menu_body').slideToggle('medium');
        $('img.menu_head').click(function () {
        	$("img.menu_head").attr("src","./images/parchemin_rouler2.gif");
             });
        });
    });
    </script>
    html :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <body>
    		<img src="images/parchemin_rouler2.gif" width="176" height="36" class="menu_head" />
    <ul class="menu_body">
    			<li><a href="#">Géographie</a></li>
    			<li><a href="#">BlaBla</a></li>
    			<li><a href="#">BliBli</a></li>
    			<li><a href="#">BloBlo</a></li>
        		        <li><a href="#">BluBlu</a></li>
            	        <li><a href="#">Gallerie</a></li>
       	 		<li><a href="#">Contact</a></li>
    </ul>
    	</body>

    et le CSS :

    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
     
    body{ 
    font-family:Arial, Helvetica, sans-serif; font-size:12px; 
    background-image: none; 
    background-repeat: repeat; 
    background-attachment: scroll; 
    background-position: 0 0; 
    }
    ul, li{
    margin:0; 
    padding:0; 
    list-style:none inside;}
     
    .menu_head{ 
    border-style: solid; 
    border-width: 0; 
    }
     
    .menu_body { 
    background-image: url(../pad_tranche1.gif); 
    background-repeat: no-repeat; 
    background-attachment: inherit; 
    position: absolute; 
    top: 38px; 
    left: 14px; 
    display:none; 
    width:176px; 
    height: 192px; 
    }
     
    .menu_body li{ background-position: 0 0; }
    .menu_body li.alt{ background-image: none; background-repeat: repeat; background-attachment: scroll; background-position: 0 0; }
    .menu_body li a{ color:#000; text-decoration:none; text-align: left; padding:5px; }
    .menu_body li a:hover{font-weight:bold;}
    .menu_body li:hover{font-weight:bold;}

    Voila, voila, donc le soucis doit bien sur se situer au niveau du jquery mais comme je débute et que je comprend pas encore tout je galère un peu avec ce changement d'image...

    merci d'avance

  2. #2
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Par défaut
    Ceci pourrait être une idée :
    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
    <script type="text/javascript">
    $(document).ready(function () {
        $('img.menu_head').click(function () {
            if(!$(this).hasClass("open"))
            {
                $(this).attr("src","./images/parchemin_haut.gif");
                $(this).addClass("open");
            } else {
                $(this).attr("src","./images/parchemin_rouler2.gif");    
                $(this).removeClass("open");
            }            
            $('ul.menu_body').slideToggle('medium');
        });
    });
    </script>

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 4
    Par défaut
    merci merci merci merci !

    ça marche nickel

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

Discussions similaires

  1. menu avec changement d'images sous pointeur
    Par boboche974 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 31/07/2006, 10h19
  2. Réponses: 8
    Dernier message: 19/01/2006, 10h57
  3. [FLASH 8] Realiser un changement d'image
    Par Gemelos dans le forum Flash
    Réponses: 3
    Dernier message: 21/11/2005, 13h48
  4. Changement d'image si l'originale absente
    Par MitchDap dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 16/03/2005, 09h06
  5. changement d'image par radio boutton
    Par ph_anrys dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 14/03/2005, 16h27

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