1+ //Movement Animation to happen
2+ const container = document . querySelector ( ".container" ) ;
3+ const card = document . querySelector ( ".card" ) ;
4+
5+ //Items
6+ const title = document . querySelector ( ".title" ) ;
7+ const sneaker = document . querySelector ( ".sneaker img" ) ;
8+ const purchase = document . querySelector ( ".purchase" ) ;
9+ const description = document . querySelector ( ".info h3" ) ;
10+ const sizes = document . querySelector ( ".sizes" ) ;
11+
12+ //Moving Animation Event
13+ container . addEventListener ( "mousemove" , ( e ) => {
14+ let xAxis = ( window . innerWidth / 2 - e . pageX ) / 25 ;
15+ let yAxis = ( window . innerHeight / 2 - e . pageY ) / 25 ;
16+ card . style . transform = `rotateY(${ xAxis } deg) rotateX(${ yAxis } deg)` ;
17+ } ) ;
18+ //Animate In
19+ container . addEventListener ( "mouseenter" , ( e ) => {
20+ card . style . transition = "none" ;
21+ //Popout
22+ title . style . transform = "translateZ(150px)" ;
23+ sneaker . style . transform = "translateZ(200px) rotateZ(-45deg)" ;
24+ description . style . transform = "translateZ(125px)" ;
25+ sizes . style . transform = "translateZ(100px)" ;
26+ purchase . style . transform = "translateZ(75px)" ;
27+ } ) ;
28+ //Animate Out
29+ container . addEventListener ( "mouseleave" , ( e ) => {
30+ card . style . transition = "all 0.5s ease" ;
31+ card . style . transform = `rotateY(0deg) rotateX(0deg)` ;
32+ //Popback
33+ title . style . transform = "translateZ(0px)" ;
34+ sneaker . style . transform = "translateZ(0px) rotateZ(0deg)" ;
35+ description . style . transform = "translateZ(0px)" ;
36+ sizes . style . transform = "translateZ(0px)" ;
37+ purchase . style . transform = "translateZ(0px)" ;
38+ } ) ;
0 commit comments