Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript > Bibliothèques & Frameworks > jQuery
jQuery Forum d'entraide sur le framework jQuery. Avant de poster : Tutoriels jQuery, FAQ jQuery, Tous les tutoriels JavaScript, Toutes les FAQ JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 14/12/2011, 00h27   #1
Invité de passage
 
Inscription : décembre 2011
Messages : 1
Détails du profil
Informations forums :
Inscription : décembre 2011
Messages : 1
Points : 0
Points : 0
Par défaut question : mouvement d'un menu

Bonjour,

j'ai un menu simple :

Code :
1
2
3
4
5
6
7
        <ul id="navigation">
            <li class="home"><a href="#" id="link1"></a></li>
            <li class="photos"><a href="#" id="link2"></a></li>
	    <li class="about"><a href="#" id="link3"></a></li>
            <li class="contact"><a href="#" id="link4"></a></li>
	    <li class="rssfeed"><a href="#" id="link5"></a></li>
        </ul>

quand on passe la souris (hover) sur un onglet du menu (c'est un menu vertical)
alors l'onglet se déplace vers la droite, et lorsqu'on enlève la souris l'onglet se replace.

jusque là tout va bien.

ce que je souhaite c'est en plus, lors d'un clique sur un onglet du menu, faire en sorte que l'onglet reste déplacer a droite, et se replace lorsque je clique sur un autre onglet du menu (et ainsi de suite)


voici mon code actuel pour le hover, je me doute bien qu'il faut utiliser la propriété click mais j'ai tout essayez, je n'y arrive pas.


script jquery placé dans les balises <head>:

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<script type="text/javascript">
  $.noConflict();
  jQuery(document).ready(function($) {
 
 
                $('#navigation > li').hover(
                    function () {
                        $('a',$(this)).stop().animate({'marginLeft':'100px'},200);
                    },
                    function () {
                        $('a',$(this)).stop().animate({'marginLeft':'00px'},200);
                    }
                );
  });
  </script>

j'utilise noConflict car j'ai besoin d'un autre framework en parallèle.
the_snip est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/12/2011, 01h57   #2
Rédacteur
 
Avatar de danielhagnoul
 
Homme Daniel Hagnoul
Étudiant perpétuel
Inscription : février 2009
Messages : 3 221
Détails du profil
Informations personnelles :
Nom : Homme Daniel Hagnoul
Âge : 61
Localisation : Belgique

Informations professionnelles :
Activité : Étudiant perpétuel
Secteur : Enseignement

Informations forums :
Inscription : février 2009
Messages : 3 221
Points : 6 767
Points : 6 767
Bonsoir

En espérant avoir bien compris !

Code :
1
2
3
4
5
6
7
<ul id="navigation">
	<li class="home"><a href="#" id="link1" data-move="1">Home</a></li>
	<li class="photos"><a href="#" id="link2" data-move="1">Photos</a></li>
	<li class="about"><a href="#" id="link3" data-move="1">About</a></li>
	<li class="contact"><a href="#" id="link4" data-move="1">Contact</a></li>
	<li class="rssfeed"><a href="#" id="link5" data-move="1">RSSFeed</a></li>
</ul>
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
$("[id^='link']").click(function(){
	$("[id^='link']").not(this).data("move", "1");
	$(this).data("move", "0");
	$('#navigation > li').mouseleave();
 
	console.log( this.id );
});
 
$('#navigation > li').hover(
	function () {
		$('a', this).stop().animate({'marginLeft':'100px'},200);
	},
	function () {
		if ( $('a', this).data("move") == 1 ){
			$('a', this).stop().animate({'marginLeft':'0px'},200);
		}
	}
);
__________________

FAQ jQuery

Mon cahier d’exercices sur jQuery & Co

Si un message vous a aidé ou vous semble pertinent, votez pour lui !
danielhagnoul est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 04h43.


 
 
 
 
Partenaires

Hébergement Web