Le débutant n'est pas très familier avec js, alors dites-moi s'il vous plaît, si j'utilise js pour cliquer sur un bouton, puis que p se déplace vers une position de 500 pixels à droite après 5 secondes, quelle est l'idée de faire cela effet?
Devrions-nous d'abord écrire une classe pour obtenir tous ces effets, puis utiliser js pour changer le nom de classe ?
Mais dans l'événement click, écrire tous les effets CSS ? QUQ
Je vais vous faire une démo simple et vous le saurez. Ce n’est qu’une des méthodes, il y en a bien d’autres !
Est-ce ce que tu veux ? Voir le code ci-dessous. p se déplace vers 500px en 5s. Vous pouvez d'abord définir l'effet de transition pour p et ajouter une classe qui se déplace vers la droite. Ce que js fait principalement, c'est ajouter une classe à l'élément
.ps : C'est juste un code de démonstration, sans tenir compte de la compatibilité, etc...
css3
Vous pouvez utiliser du CSS ou écrire directement en js. Pour CSS, utilisez la transition pour l'écrire. Pour Baidu spécifiquement, lorsqu'un événement de clic se produit, ajoutez une classe à l'élément et modifiez le style. Pour js, utilisez settimeout, prenez la marge gauche que vous avez mentionnée comme exemple, modifiez la marge gauche petit à petit et arrêtez-vous lorsqu'elle atteint la valeur spécifiée, qui est cleartimeout
Comme mentionné ci-dessus, s'il s'agit d'une version ie9 ou inférieure, vous devez utiliser une minuterie
Habituellement, css3 est utilisé
.transition
实现过渡效果,要动画的话用animation
L'utilisation de js nécessite plus de performances. Voici quelques articles de référencePropriétés CSS3D