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 :

Comment jouer une animation une seule fois ?


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Août 2009
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 45
    Par défaut Comment jouer une animation une seule fois ?
    Bonjour à tous ;-)

    J'ai un petit soucis avec un bout de js que je viens de faire.

    Le but étant de faire un fade in et fade out lors du passage de la souris sur une image qui change, avec un retour à son état initial lors du "mouseout".

    Je sais pas si c'est super claire mais pour le moment avec ceci ça fonctionne, mais si je passe la souris trop rapidement sur l'image l'animation se joue en boucle...

    Est-ce possible de ne jouer l'anim. qu'une fois ? Ou est-ce qu'il y a moyen de mettre un stop quelque part.

    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
     
    <script type="text/javascript">
        $(document).ready(function() {
     
     
     
                $('img.swap').mouseover(function() {
                    $(this).blur().animate({ opacity: 0.0 }, {duration:300, complete:function(){this.src = 'img/logo_hov.png';}});
    				$(this).blur().animate({ opacity: 1.0 }, {duration:200, complete:function(){this.src = 'img/logo_hov.png';}});
                })
    			$('img.swap').mouseout(function() {
                    $(this).blur().animate({ opacity: 0.0 }, {duration:300, complete:function(){this.src = 'img/logo.png';}});
    				$(this).blur().animate({ opacity: 1.0 }, {duration:200, complete:function(){this.src = 'img/logo.png';}});
                })
     
        });
    </script>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <div id="logo"><a href="index.html"><img src="img/logo.png" class="swap"/></a></div>
    D'avance merci pour votre aide

  2. #2
    Membre expérimenté
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2006
    Messages
    205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Octobre 2006
    Messages : 205
    Par défaut Voci la solution
    a ta question

    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
     
     
    <script type="text/javascript">
        $(document).ready(function() {
     
     
    		$('img.swap').mouseover(function() {
    		    $(this).stop().animate({ opacity: 0.0 }, {	
    			    		duration:300, 
    			    		complete:function(){
    		    					this.src = 'img/logo_hov.png';
    		    					$(this).animate({ opacity: 1.0 }, {duration:200});
    			    		}
    			});
     
    		})
    		$('img.swap').mouseout(function() {
    		    $(this).stop().animate({ opacity: 0.0 }, {
    			    			duration:300, 
    			    			complete:function(){
    								this.src = 'img/logo.png';
    		   						$(this).animate({ opacity: 1.0 }, {duration:200});
    		    	}
    			});
     
    		})
     
        })
     
    	</script>

    J'ai légèrement réécris ton code pour qu'il soit plus lisible et j'ai rajouté .stop() après tes 2 élèvements. .stop() arrête les animations si une est en cours.

Discussions similaires

  1. exécuter une macro 1 seule fois par semaine ?
    Par deby23 dans le forum VBA Access
    Réponses: 9
    Dernier message: 20/12/2012, 11h22
  2. [JavaScript] Comment donner le Focus à une animation Flash chargée dans une page Web
    Par slim_java dans le forum Contribuez
    Réponses: 11
    Dernier message: 13/07/2010, 16h22
  3. [PHP 5.3] je cherche à faire appel à une fonction 1 seul fois
    Par geforce dans le forum Langage
    Réponses: 1
    Dernier message: 23/05/2010, 14h16
  4. Réponses: 4
    Dernier message: 04/12/2009, 12h18
  5. Comment ne pas rejouer une animation après un clic ?
    Par mmmmhhh dans le forum ActionScript 1 & ActionScript 2
    Réponses: 4
    Dernier message: 04/09/2002, 16h11

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