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

JavaScript Discussion :

Plusieurs animations CSS identiques dans un court laps de temps


Sujet :

JavaScript

  1. #1
    Candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2023
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2023
    Messages : 3
    Points : 3
    Points
    3
    Par défaut Plusieurs animations CSS identiques dans un court laps de temps
    Bonjour,
    Je crée un jeu pour apprendre le développement web disponible ici: https://romain672.github.io/CV-MEESE...A9s/index.html , et j'essaye de rajouter des animations dessus.
    J'ai des cartes à effets par exemple "⚔️💖💖💖" qui vont par exemple infliger 1 unité de dégât ⚔️ et soigner 3 💖.
    J'ai créé une animation qui permet de faire bouger un "💖" d'une div à une autre en ajoutant et enlevant une classe a une div (code ci-dessous), mais je ne peux faire bouger qu'un seul élément à la fois.
    J'aurais aimé pouvoir créer 4 animations, trois de 💖 et un de ⚔️ partant et allant dans différentes divs (avec genre "animation-delay: 0s, 0.1s, 0.2s").

    De ce que j'ai pu lire, le seul truc que je me sens capable de faire c'est de créer un id sur l'animation en cours, et copier/coller 100 fois une partie du code de manière à créer un maximum de 100 animations en même temps. Je pense que ça marcherait, mais le html serait moche et ce serait pas très efficace.

    Merci


    J'ai rajouté une div "anim" dans le html: <div id="anim"></div>.
    Mon animation dans le css:
    Code css : 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
    #anim{
        visibility: hidden;
    }
    .startanimation{
        position: absolute;
        visibility: visible;
        -webkit-animation: moving 2.5s;
        animation: moving 2.5s ease;
        animation-name: heart;
    }
    @keyframes heart {
        from {
        left: var(--ls, 0px);
        top: var(--ts, 0px);
        visibility: visible;
        }
        to {
        left: var(--le, 0px);
        top: var(--te, 0px);
        visibility: hidden;
        }
    }
    Et enfin du javascript qui avec une string, une div de départ et une div d'arrivé permet de faire bouger une animation:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    function animate(string, start, end) {
      document.getElementById("anim").classList.add("startanimation");
      let var1= document.getElementById(start).getBoundingClientRect();
      let var2= document.getElementById(end).getBoundingClientRect();
      document.getElementById("anim").textContent = string;
      document.getElementById("anim").style.setProperty("--ls", var1.left + "px");
      document.getElementById("anim").style.setProperty("--ts", var1.top + "px");
      document.getElementById("anim").style.setProperty("--le", var2.left + "px");
      document.getElementById("anim").style.setProperty("--te", var2.top + "px");
      setTimeout(() => {
        document.getElementById("anim").classList.remove("startanimation");
      }, 2500);
    }

  2. #2
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 305
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 305
    Points : 15 633
    Points
    15 633
    Par défaut
    à quoi correspond le nombre de 100 dont vous parlez ? avez-vous déjà testé avec 2 ou 3 animations ?

    et si le code css ne peux pas être factorisé, vous pouvez essayez d'utiliser un préprocesseur comme less par exemple pour travailler avec du code plus facilement maintenable :
    https://lesscss.org/

Discussions similaires

  1. Insérer plusieurs animations css dans un article
    Par pilan dans le forum Mise en page CSS
    Réponses: 3
    Dernier message: 26/05/2021, 19h43
  2. Réponses: 0
    Dernier message: 29/05/2016, 04h01
  3. Réponses: 13
    Dernier message: 06/02/2008, 17h11
  4. 1 SOLUTION : plusieurs anim dans un fichier x
    Par heidi79 dans le forum DirectX
    Réponses: 1
    Dernier message: 28/08/2003, 09h19
  5. Plusieurs animations dans un fichier .X
    Par heidi79 dans le forum DirectX
    Réponses: 6
    Dernier message: 25/08/2003, 02h26

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