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 :

Evénement hover ou mouseout ?


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Novembre 2004
    Messages
    152
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 152
    Par défaut Evénement hover ou mouseout ?
    Bonjour,

    Je reprends le script de http://tympanus.net/Tutorials/ElegantAccordion/ permettant de mettre un joli accordéon dynamique, toutefois j'aimerais le personnaliser pour que lorsque l'on sort de la zone (sorti du ul) le dernier item de liste (li) survolé reste ouvert.

    J'ai jeté un oeil, je comprends bien ce qu'il faut faire dans la 2eme fonction, il faut que lorsque l'on sort de la zone on teste si la zone dans laquelle on se trouve est un autre item de liste ou non.
    Si oui on exécute le code actuel, sinon on met la taille à 340px sans effet de transition.

    Par contre je n'arrive pas à le formaliser, comment savoir si la souris est sorti du "ul" ou pas?

    Merci de votre aide

    Voici le code js
    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
     
    $(function() {
    	$('.accordion > li').hover(
    		function () {
    			var $this = $(this);
    			$this.stop().animate({'width':'340px'},500);
    			$('.heading',$this).stop(true,true).fadeOut();
    			$('.bgDescription',$this).stop(true,true).slideDown(500);
    			$('.description',$this).stop(true,true).fadeIn();
    		},
    		function () {
    			var $this = $(this);
    			$this.stop().animate({'width':'150px'},1000);
    			$('.heading',$this).stop(true,true).fadeIn();
    			$('.description',$this).stop(true,true).fadeOut(500);
    			$('.bgDescription',$this).stop(true,true).slideUp(700);
    		}
    	);
     
    });

  2. #2
    Membre confirmé
    Inscrit en
    Novembre 2004
    Messages
    152
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 152
    Par défaut
    J'ai ajouté le code suivant, ça fonctionne, pensez-vous qu'il y ai un meilleur moyen de le faire ?

    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
     
    $(function() {
    	$('.accordion ').mouseout(
    		function () {
    			//on laisse le dernier ouvert
    			var $this = last;
    			$this.stop().animate({'width':'340px'},500);
    			$('.heading',$this).stop(true,true).fadeOut();
    			$('.bgDescription',$this).stop(true,true).slideDown(500);
    			$('.description',$this).stop(true,true).fadeIn();
     
    			//on ferme les autres
    			var $items = $('.accordion').find("li").not(last);
    			$items.each(function(i) {
    				$autre=$(this);				 
    				$autre.stop().animate({'width':'150px'},1000);
    				$('.heading',$autre).stop(true,true).fadeIn();
    				$('.description',$autre).stop(true,true).fadeOut(500);
    				$('.bgDescription',$autre).stop(true,true).slideUp(700);
    			});
    		}
    	);					
    });

  3. #3
    Rédacteur

    Avatar de danielhagnoul
    Homme Profil pro
    Étudiant perpétuel
    Inscrit en
    Février 2009
    Messages
    6 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Belgique

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

    Informations forums :
    Inscription : Février 2009
    Messages : 6 389
    Billets dans le blog
    125
    Par défaut
    Bonsoir

    Lors de l'entrée dans un volet, le code ci-dessous gère l'ouverture du volet et la fermeture du dernier volet ouvert sauf s'il s'agit du même volet.

    Ce code remplace tous les autres.

    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
    var lastLI = null;
     
    $('#accordion > li').mouseenter(function(){
    	var $this = $(this);
    	$this.stop().animate({'width':'480px'},500);
    	$('.heading',$this).stop(true,true).fadeOut();
    	$('.bgDescription',$this).stop(true,true).slideDown(500);
    	$('.description',$this).stop(true,true).fadeIn();
     
    	if (lastLI){
    		var jObj = lastLI;
    		lastLI = $(this);
    		jObj.stop().animate({'width':'115px'},1000);
    		$('.heading', jObj).stop(true,true).fadeIn();
    		$('.description', jObj).stop(true,true).fadeOut(500);
    		$('.bgDescription', jObj).stop(true,true).slideUp(700);
    	} else {
    		lastLI = $(this);
    	}
    });

    Blog

    Sans l'analyse et la conception, la programmation est l'art d'ajouter des bogues à un fichier texte vide.
    (Louis Srygley : Without requirements or design, programming is the art of adding bugs to an empty text file.)

  4. #4
    Membre chevronné
    Avatar de kalimukti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2011
    Messages
    262
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2011
    Messages : 262
    Par défaut
    Merci bcp danielhagnoul
    (moi aussi la question m'intéressait)
    Ca marche nickel !

  5. #5
    Membre confirmé
    Inscrit en
    Novembre 2004
    Messages
    152
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 152
    Par défaut
    merci beaucoup, mais que pensez-vous de mon code?

  6. #6
    Membre chevronné
    Avatar de kalimukti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2011
    Messages
    262
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2011
    Messages : 262
    Par défaut
    Citation Envoyé par selinav Voir le message
    merci beaucoup, mais que pensez-vous de mon code?
    tu l'insères comment par rapport au code original ?
    (parce que j'ai essayé vite fait hier soir et tel que je l'ai inséré, y marchait po )

Discussions similaires

  1. Une technique pour :hover ?
    Par ¤dinky¤ dans le forum Mise en page CSS
    Réponses: 5
    Dernier message: 16/12/2004, 11h45
  2. [SynEdit] Evénement OnContextHelp
    Par sjrd dans le forum Composants VCL
    Réponses: 7
    Dernier message: 24/11/2004, 16h33
  3. Evènement OnMouseWheel pour un TCustomControl
    Par blan dans le forum C++Builder
    Réponses: 6
    Dernier message: 17/11/2004, 14h37
  4. Non réception d'un evènement sur une JTable
    Par Kant dans le forum Composants
    Réponses: 4
    Dernier message: 28/05/2004, 10h38
  5. Evènement sur clic droit !?
    Par soccersoft dans le forum Composants VCL
    Réponses: 6
    Dernier message: 26/12/2002, 21h39

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