Aplica mai multe animații într-o singură componentă, folosind Framer mișcare variante

0

Problema

Eu sunt nou prin Framer mișcare, ceea ce încerc să fac este de a imita roata mișcare de imagine în mișcare în timp ce se rotește
Nu știu cum să facă acest lucru
Am incercat ceva de genul asta dar nu merge

    const imageRuning :Variants = {
                                   hidden:{
                                          x:"-100vw",
                                          opacity:0
                                         },
                                  visible:{
                                          x:0,
                                          opacity:1,
                                          transitionDuration:"3s"

                                           },
                                   rotation:{
                                            rotate:[180,0],
                                            transition:{
                                                  repeat:Infinity,
                                                  type:"tween",
                                                  ease:"linear"
                                                  }
                                             }
                                       }
  
            const  HomePage =()=> {

                   return (

                        <div className={style.animationContainer}>
                             <motion.img 
                                  className={style.animatedImage}
                                  variants={imageRuning}
                                  initial="hidden"
                                  animate={["visible","rotation"]}
                                  width={100} height={100} src="/static/me.jpg" >
                             </motion.img>
                        </div>
              )

orice ajutor, vă rugăm ,

animation css framer-motion javascript
2021-11-22 07:16:50
1

Cel mai bun răspuns

0

Se pare că vă sunt încercarea de a anima două proprietăți (x și rotate) cu diferite tranziție valori.

Puteți doar anima la o variantă la un moment dat, deci, dacă doriți să se întâmple în același timp, va trebui să combine cele într-o singură variantă. Din fericire, puteți specifica unice de tranziție valori pentru orice animarea proprietate prin listarea în transition obiect.

Astfel:

visible: {
  x: 0,
  opacity: 1,
  rotate: 180, // rotate and x animate in the same variant
  transition: {
    duration: 3, // default transition duration (applies to x and opacity)
    rotate: {
      // unique transition for rotate property only
      repeat: Infinity,
      type: "tween",
      ease: "linear"
    }
  }
}

Cum le-ai configurat, obiectul va continua rotirea chiar și după x finisaje de animație (repeat: Infinity). Asta e ceea ce vrei? Poti sa te uiti în Animație Controlează dacă doriți mai mult control.

2021-11-22 23:13:31

În alte limbi

Această pagină este în alte limbi

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................