Partage
  • Partager sur Facebook
  • Partager sur Twitter

jQuery, transitions et border-radius

Sujet résolu
    5 septembre 2018 à 14:52:52

    Bonjour,

    Je rencontre un comportement que je ne parviens pas à comprendre de la part de jQuery / css:

    • J'applique un border-radius à un <div/>
    • Je change sa propriété "transition-duration", à '5s' par exemple
    • Au chargement de la page la transition s'applique au border-radius alors que la propriété a été modifiée avant et devrait déjà être en place

    Fiddle ici: http://jsfiddle.net/u1vxrhnf/8/

    Comme si les transitions avaient une dimension asynchrone, si quelqu'un pouvait m'expliquer cela m'aiderait bien, merci d'avance.

    • Partager sur Facebook
    • Partager sur Twitter
      5 septembre 2018 à 21:30:08

      Bonjour, je dis peut être une bétise, mais je pense que l'appel à la méthode css réaplique toutes les propriétés css de l'élément.
      • Partager sur Facebook
      • Partager sur Twitter
        6 septembre 2018 à 11:08:52

        Salut,

        Si tu souhaites initialiser le border-radius via Jquery plutôt que directement dans le css (ce qui t'évite ce problème), tu peux également faire comme ceci pour le contourner: 

        $('#box').css({ borderRadius: '50px' });
        delay(0);
        $('#box').css({ transitionDuration: '5s' });
        • Partager sur Facebook
        • Partager sur Twitter
          7 septembre 2018 à 10:13:56

          @bxdfr: je ne sais pas, je ne pense pas sinon dans mon exemple on aurait également vu la hauteur/largeur changé en même tant que le border-radius

          @Mastero31: oui j'avais déjà essayé avec un setTimeout, ça marchait, mais j'aimerai bien comprendre le comportement pour faire quelque chose de plus élégant.

          Merci pour les retours, pour l'instant je vais utiliser cette solution.

          • Partager sur Facebook
          • Partager sur Twitter

          jQuery, transitions et border-radius

          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
          • Editeur
          • Markdown