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 :

Fonction s'exécute plusieurs fois


Sujet :

jQuery

  1. #1
    Membre à l'essai
    Inscrit en
    Mars 2011
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 25
    Points : 18
    Points
    18
    Par défaut Fonction s'exécute plusieurs fois
    Bonjour,

    Voila mon petit probleme j'ai des fonctions que je résume ici :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $('.start').click(function() { [accède au menu et exécute des animation] });
     
    $('.buttonExit').click(function(){ [ Quitte le menu ] });

    Mon probleme est le suivant lorsque je quitte le menu lorsque je souhaite y revenir en re-cliquant sur "start" les animation s'execute 2 fois ...

    En gros il faudrais que je quitte la première fonction a l’exécution de la deuxième mais comment faire ?

    Merci

  2. #2
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 048
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 048
    Points : 44 562
    Points
    44 562
    Par défaut
    Bonsoir,
    en début de fonction il te faut d'abord arrêter l'animation, si en cours, avant de relancer quoique ce soit.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    $('.start').click(function() {
      arretAnimation();
      // le reste du code
    });
     
    $('.buttonExit').click(function(){
      arretAnimation();
      // le reste du code
     });

  3. #3
    Membre à l'essai
    Inscrit en
    Mars 2011
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 25
    Points : 18
    Points
    18
    Par défaut
    Le probleme c'est que je vois pas comment l’arrêté il ne s'agit pas d'une animation type anim() ou autre que je pourrais stopper avec .stop(), mais seulement un petit code qui bouge le CSS et je ne vois pas comment stoppé ça. (voici "l'animation")

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    $('.crossBottom').click(function(){	
    	$id = $('.selectOn').attr('id');
    	$('.selectOn').removeClass('selectOn');
    	if ($id<4)
    		$id++;	
    	else
    		$id=1;
    									$('#'+$id).addClass('selectOn');
    		});

  4. #4
    Rédacteur/Modérateur

    Avatar de SylvainPV
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    3 375
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 3 375
    Points : 9 944
    Points
    9 944
    Par défaut
    Pourquoi ne pas utiliser les animations jQuery ? Ca résoudrait ton problème tout en étendant le support pour des navigateurs ne supportant pas les transitions CSS.
    One Web to rule them all

  5. #5
    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 : 73
    Localisation : Belgique

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

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

    J'essaierai d'ajouter un "return false" pour éviter la propagation de l'événement "click".

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    $( ".start" ).on( "click", function(){
        // le code
        return false;
    });
     
    $( ".buttonExit" ).on( "click", function(){
        // le code
        return false;
     });
    L'usage d'ID numérique et leurs manipulations ( $id < 4, $d++, $d--) est une horreur !

    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.)

Discussions similaires

  1. [Débutant] PC qui rame, fonctions exécutées plusieurs fois
    Par KaloOopS dans le forum C#
    Réponses: 7
    Dernier message: 14/09/2012, 21h14
  2. scipt pour exécuter plusieurs fois un programme
    Par djocin dans le forum Linux
    Réponses: 5
    Dernier message: 02/05/2011, 04h13
  3. Fonction Ajax sur clique qui s'exécute plusieurs fois
    Par arthuro45 dans le forum Général JavaScript
    Réponses: 22
    Dernier message: 21/03/2011, 10h58
  4. Réponses: 3
    Dernier message: 28/11/2007, 15h44
  5. Sous-requête excutée plusieurs fois dans une requête
    Par sheridan31 dans le forum Oracle
    Réponses: 8
    Dernier message: 03/07/2006, 16h18

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