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 :

Appel de function dans un animate() (jquery)


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé Avatar de oceane751
    Profil pro
    Intégrateur Web
    Inscrit en
    Novembre 2004
    Messages
    1 280
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Intégrateur Web

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 280
    Par défaut Appel de function dans un animate() (jquery)
    Bonjour à tous!

    Il y a quelque chose que je ne comprends pas.

    Je suis un tuto sur le web et j'ai testé un bout de code mais il y a une partie que je ne comprends pas du tout!

    Voici le code:

    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
     
     
    <div id="balle"></div>
     
     
    <script>
     $(function() {
        function bis() {
          $('#balle').animate({left: '+=200'}, 'slow')
                     .animate({top: '+=200'}, 'slow')
                     .animate({left: '-=200'}, 'slow')
                     .animate({top: '-=200'}, 'slow', bis);
                                     //.animate({top: '-=200'}, 'slow', bis); En gros le "bis" dans la fonction animate sera appelé dès que l'animation "top: '-=200'" sera fini. 
                                     //Cela permet de faire une animation en boucle. donc bis ==> function bis() etc en boucle 
        };
            
            //L'appel à "bis()" après la déclaration de la fonction sert à lancer la première fois l'animation (comme si je faisais un "start" de mon action)
        bis();
      });
     
     
     
     
                       
    </script>

    En gros je ne comprends pas le .animate({top: '-=200'}, 'slow', bis);
    On m'a dit que c'était un "callback"
    Donc j'ai cherché sur le web et en fait le callback dans mon exemple c'est "bis" c'est à dire qu'il est exécuté après tous les animate() donc en boucle c'est bien ça?

    j'arrive pas à trouver sauf ça: http://www.w3schools.com/jquery/jquery_callback.asp

    Et pour mes commentaires de code, est ce vraiment bien, est ce vraiment la réalité, est ce correcte?

    Merci d'avance pour vos réponses!

  2. #2
    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
    Le "callback" (fonction de rappel) est en fait un appel récursif, la fonction se termine par un appel à elle même. Donc une boucle, oui.

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

  3. #3
    Membre éprouvé Avatar de oceane751
    Profil pro
    Intégrateur Web
    Inscrit en
    Novembre 2004
    Messages
    1 280
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Intégrateur Web

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 280
    Par défaut
    super merci, c'est bien ce qu'on m'avait dit et ce que j'avais compris
    donc en gros avec ça appelle la fonction, et quand on est dedans, elle tourne en boucle (donc répéter, dans mon cas, une animation sans fin) grâce au c'est ça?

  4. #4
    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
    Oui.

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

  5. #5
    Membre éprouvé Avatar de oceane751
    Profil pro
    Intégrateur Web
    Inscrit en
    Novembre 2004
    Messages
    1 280
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Intégrateur Web

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 280
    Par défaut
    Super merci!!

    Dernière question et je te laisse tranquille
    Un callback ne sert qu'à faire des boucles ou bien il peut servir à d'autre choses?

    Merci encore!

  6. #6
    Expert confirmé

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 416
    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 : Septembre 2010
    Messages : 5 416
    Par défaut
    Tu en fais bien ce que tu veux, tu pourrais appeler une autre fonction.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     $(function() {
        function alerteFin()
        {
             alert('fin d\'animation');
        }
     
        function bis() {
          $('#balle').animate({left: '+=200'}, 'slow')
                     .animate({top: '+=200'}, 'slow')
                     .animate({left: '-=200'}, 'slow')
                     .animate({top: '-=200'}, 'slow', alerteFin);
        };
        bis();
      });

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

Discussions similaires

  1. Appeler fonction js dans une fonction jquery
    Par Augustule dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 12/10/2013, 17h51
  2. Réponses: 6
    Dernier message: 26/10/2010, 18h46
  3. 2 appel de function dans un onclick ?
    Par skillipo dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 19/02/2008, 16h37
  4. VB6 creation et appel function dans dll
    Par atc666 dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 07/11/2007, 19h48
  5. Réponses: 3
    Dernier message: 23/06/2004, 21h17

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