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 :

Incompréhension de queue()


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 Incompréhension de queue()
    Bonjour à tous!

    J'essaye de comprendre un peu à quoi sert queue()..

    J'ai cet exemple :

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     
    <button id="nePasEnchainer">Ne pas enchaîner les animations</button><br />
    <button id="executerEnMemeTemps">Exécuter les animations en même temps</button><br /><br />
    <img src="images1/tigre1.jpg" style="border: 2px black solid; width:200px; height:200px;">

    et le jquery :

    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() {
     
     
        $('#nePasEnchainer').click( function() {
          $('img').animate({ 'border-width': '100'}, { queue: false, duration: 1500 })
                  .animate({ 'width': '-=100'}, 1500);
        }); 
        $('#executerEnMemeTemps').click( function() {
          $('img').animate({ 'border-width': '100', 'width': '-=100' }, 1500);
        }); 
     
     });

    C'est peut être idiot comme question, mais je ne vois pas de différence entre les 2 bouts de codes mais surtout ce que ça fait au final...
    queue: false = animation finie c'est bien ça?

    Pouvez vous m'éclaircir un peu plus à ce sujet, ce queue()? et queue: ?

    Merci

  2. #2
    Expert confirmé

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 418
    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 418
    Par défaut
    Mets queue à true si tu veux voir une différence. L'animation finie c'est "complete".

  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
    si je mets queue à true ça revient à faire ça

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
     
    $('#enchainer').click( function() { 
          $('img').animate({ 'border-width': '100'}, 1500 )
                  .animate({ 'width': '-=100'}, 1500);
        });
    non?

  4. #4
    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
    par exemple avec ce code, récupérer sur la doc officielle de jquery, on est obligé d'utilisé queue() pour addClass() et removeClass()?


    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
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
     
     
    <!DOCTYPE html>
    <html>
      <head>
        <meta charset="UTF-8">
        <title>Petit Chat!</title>
        <script src="jquery.min.js"></script>
    <style>
      div {
        margin: 3px;
        width: 40px;
        height: 40px;
        position: absolute;
        left: 0px;
        top: 30px;
        background: green;
        display: none;
      }
      div.newcolor {
        background: blue;
      }
      </style>
      </head>
     
     
    <body>
     
     
     
     
    Click here...
    <div></div>
     
     
     
     
    <script>
     
     
    $( document.body ).click(function() {
      $( "div" )
        .show( "slow" )
        .animate({ 
                 left: "+=200" 
                 }, 2000  )
                    .queue(function() {
                      $( this ).addClass( "newcolor" ).dequeue();
                    })
        .animate({ 
                 left: "-=200" 
                 }, 500 )
                    .queue(function() {
                      $( this ).removeClass( "newcolor" ).dequeue();
                    })
        .slideUp();
    });
     
     
     
     
    </script>
     
     
     
     
     
     
    </body>
    </html>



    Désolé j'essaye de comprendre l'utilité...

  5. #5
    Expert confirmé

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 418
    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 418
    Par défaut
    Citation Envoyé par oceane751 Voir le message
    si je mets queue à true ça revient à faire ça

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
     
    $('#enchainer').click( function() { 
          $('img').animate({ 'border-width': '100'}, 1500 )
                  .animate({ 'width': '-=100'}, 1500);
        });
    non?
    Oui, y'a de nombreuses syntaxes qui produisent le même effet au final, mais l'avantage de la première syntaxe (avec queue) c'est qu'avec le même code tu peux modifier le comportement en changeant simplement la valeur de queue (tu peux mettre une variable pour indiquer true ou false).
    Donc on choisi sa syntaxe non seulement en fonction de l'effet qu'on veut produire mais aussi en fonction de la possibilité de modifier cet effet dynamiquement.

  6. #6
    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
    ok mais donc avec animate() on ne peut pas utiliser addClass() et removeClass() directement sans utiliser queue () c'est ça?
    et quelle est la différence entre queue() et queue: ?

    merci encore pour ton aide

Discussions similaires

  1. messages incompréhensibles
    Par devalender dans le forum Outils
    Réponses: 2
    Dernier message: 06/07/2004, 16h53
  2. Gérer les queue avec sql server ?
    Par devdev dans le forum MS SQL Server
    Réponses: 8
    Dernier message: 17/06/2004, 17h38
  3. incompréhension avec ado
    Par Orgied dans le forum Bases de données
    Réponses: 3
    Dernier message: 19/05/2004, 18h24
  4. [WSAD5] probleme incompréhensible
    Par capitaine_banane dans le forum Eclipse Java
    Réponses: 5
    Dernier message: 07/04/2004, 11h56
  5. [JSP] Erreur incompréhensible
    Par xxaragornxx dans le forum Servlets/JSP
    Réponses: 6
    Dernier message: 09/09/2003, 16h37

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