@@ -9,7 +9,7 @@ var Transition = Barba.BaseTransition.extend({
99
1010 runTransition : function ( ) {
1111
12- $ ( ' body' ) . css ( ' overflow' , 'hidden' ) ;
12+ document . body . style . overflow = 'hidden' ;
1313
1414 ////////////////////////////
1515 // Setup
@@ -21,22 +21,40 @@ var Transition = Barba.BaseTransition.extend({
2121 ////////////////////////////
2222
2323 // Set the animation time on all elements
24- var allAnimationElements = $ ( '[' + transitionSelector + ']' ) ;
25- $ . each ( allAnimationElements , function ( ) {
26- $ ( this ) . css ( 'animation-duration' , transitionLengthSeconds ) . css ( 'animation-delay' , transitionLengthSeconds ) . css ( 'animation-name' , $ ( this ) . data ( 'transition' ) ) . css ( 'animation-fill-mode' , 'forwards' ) ;
27- } )
24+ var allAnimationElements = document . querySelectorAll ( '[' + transitionSelector + ']' ) ;
25+ for ( var i = 0 ; i < allAnimationElements . length ; i ++ ) {
26+ element = allAnimationElements [ i ] ;
27+
28+ // Set styles
29+ element . style . animationDuration = transitionLengthSeconds ;
30+ element . style . animationDelay = transitionLengthSeconds ;
31+ element . style . animationName = element . dataset . transition ;
32+ element . style . animationFillMode = 'forwards' ;
33+ }
2834
2935 // Get all old elements with transitions
30- var oldElements = $ ( this . oldContainer ) . find ( '[' + transitionSelector + ']' ) ;
31- $ . each ( oldElements , function ( ) {
32- $ ( this ) . removeAttr ( 'style' ) ;
33- } ) ;
36+ var oldElements = this . oldContainer . querySelectorAll ( '[' + transitionSelector + ']' ) ;
37+ for ( var i = 0 ; i < oldElements . length ; i ++ ) {
38+ element = oldElements [ i ] ;
3439
40+ // Remove style tag
41+ element . removeAttribute ( 'style' ) ;
42+ }
43+
3544 // Trigger out transitions
3645 setTimeout ( function ( ) {
37- $ . each ( oldElements , function ( ) {
38- $ ( this ) . css ( 'animation-duration' , transitionLengthSeconds ) . css ( 'animation-delay' , transitionLengthSeconds ) . css ( 'animation-name' , $ ( this ) . data ( 'transition' ) ) . css ( 'animation-direction' , 'alternate-reverse' ) . css ( 'animation-delay' , '0s' ) . css ( 'animation-fill-mode' , 'forwards' ) ;
39- } ) ;
46+
47+ for ( var i = 0 ; i < oldElements . length ; i ++ ) {
48+ element = oldElements [ i ] ;
49+
50+ // Set styles
51+ element . style . animationDuration = transitionLengthSeconds ;
52+ element . style . animationDelay = '0s' ;
53+ element . style . animationName = element . dataset . transition ;
54+ element . style . animationFillMode = 'forwards' ;
55+ element . style . animationDirection = 'alternate-reverse' ;
56+ }
57+
4058 } , transitionTimeout ) ;
4159
4260 var x = this ;
@@ -45,11 +63,14 @@ var Transition = Barba.BaseTransition.extend({
4563 // Remove old container and add new one
4664 x . oldContainer . style . visibility = 'hidden' ;
4765 x . newContainer . style . visibility = 'visible' ;
66+
67+ // Remove style tag at the end of the animation
4868 setTimeout ( function ( ) {
49- $ ( 'body' ) . css ( 'overflow' , 'visible' ) ;
50- $ . each ( allAnimationElements , function ( ) {
51- $ ( this ) . removeAttr ( 'style' ) ;
52- } ) ;
69+ document . body . style . overflow = 'visible' ;
70+ for ( var i = 0 ; i < allAnimationElements . length ; i ++ ) {
71+ element = allAnimationElements [ i ] ;
72+ element . removeAttribute ( 'style' ) ;
73+ }
5374 } , transitionLength ) ;
5475
5576 // Scroll to top
@@ -60,6 +81,7 @@ var Transition = Barba.BaseTransition.extend({
6081
6182 }
6283
84+ // Mark as done
6385 setTimeout ( function ( ) {
6486 done ( x ) ;
6587 } , transitionLength + transitionTimeout ) ;
0 commit comments