3
3
/ ___/______________ / / / __ \___ _ _____ ____ _/ /
4
4
\__ \/ ___/ ___/ __ \/ / / /_/ / _ \ | / / _ \/ __ `/ /
5
5
___/ / /__/ / / /_/ / / / _, _/ __/ |/ / __/ /_/ / /
6
- /____/\___/_/ \____/_/_/_/ |_|\___/|___/\___/\__,_/_/ v3.0.0
6
+ /____/\___/_/ \____/_/_/_/ |_|\___/|___/\___/\__,_/_/ v3.0.2
7
7
8
8
‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾
9
9
Copyright 2014–2016 Julian Lloyd (@jlmakes) Open source under MIT license
@@ -127,32 +127,40 @@ ______________________________________________________________________________*/
127
127
} ;
128
128
129
129
ScrollReveal . prototype . style = function ( elem ) {
130
- var config = elem . config ;
130
+ var config = elem . config ;
131
+ var computed = window . getComputedStyle ( elem . domEl ) ;
131
132
132
133
if ( ! elem . styles ) {
133
134
elem . styles = {
134
135
transition : { } ,
135
- transform : { }
136
+ transform : { } ,
137
+ computed : { }
136
138
} ;
137
- elem . styles . inline = elem . domEl . getAttribute ( 'style' ) || '' ;
138
- elem . styles . inline += '; visibility: visible; ' ;
139
- elem . styles . opacity = window . getComputedStyle ( elem . domEl ) . opacity ;
139
+ elem . styles . inline = elem . domEl . getAttribute ( 'style' ) || '' ;
140
+ elem . styles . inline += '; visibility: visible; ' ;
141
+ elem . styles . computed . opacity = computed . opacity ;
142
+
143
+ if ( ! computed . transition || computed . transition == 'all 0s ease 0s' ) {
144
+ elem . styles . computed . transition = '' ;
145
+ } else {
146
+ elem . styles . computed . transition = computed . transition + ', ' ;
147
+ }
140
148
}
141
149
142
- elem . styles . transition . instant = 'transition: transform ' + config . duration / 1000 + 's ' + config . easing + ' 0s, opacity ' + config . duration / 1000 + 's ' + config . easing + ' 0s; ' +
143
- '-webkit- transition: -webkit- transform ' + config . duration / 1000 + 's ' + config . easing + ' 0s, opacity ' + config . duration / 1000 + 's ' + config . easing + ' 0s; ' ;
150
+ elem . styles . transition . instant = '-webkit- transition: ' + elem . styles . computed . transition + '-webkit- transform ' + config . duration / 1000 + 's ' + config . easing + ' 0s, opacity ' + config . duration / 1000 + 's ' + config . easing + ' 0s; ' +
151
+ ' transition: ' + elem . styles . computed . transition + ' transform ' + config . duration / 1000 + 's ' + config . easing + ' 0s, opacity ' + config . duration / 1000 + 's ' + config . easing + ' 0s; ' ;
144
152
145
- elem . styles . transition . delayed = 'transition: transform ' + config . duration / 1000 + 's ' + config . easing + ' ' + config . delay / 1000 + 's, opacity ' + config . duration / 1000 + 's ' + config . easing + ' ' + config . delay / 1000 + 's; ' +
146
- '-webkit-transition: -webkit-transform ' + config . duration / 1000 + 's ' + config . easing + ' ' + config . delay / 1000 + 's, opacity ' + config . duration / 1000 + 's ' + config . easing + ' ' + config . delay / 1000 + 's; ' ;
147
-
148
- elem . styles . transform . initial = 'transform:' ;
149
- elem . styles . transform . target = 'transform:' ;
150
- generateTransform ( elem . styles . transform ) ;
153
+ elem . styles . transition . delayed = '-webkit-transition: ' + elem . styles . computed . transition + '-webkit-transform ' + config . duration / 1000 + 's ' + config . easing + ' ' + config . delay / 1000 + 's, opacity ' + config . duration / 1000 + 's ' + config . easing + ' ' + config . delay / 1000 + 's; ' +
154
+ 'transition: ' + elem . styles . computed . transition + 'transform ' + config . duration / 1000 + 's ' + config . easing + ' ' + config . delay / 1000 + 's, opacity ' + config . duration / 1000 + 's ' + config . easing + ' ' + config . delay / 1000 + 's; ' ;
151
155
152
156
elem . styles . transform . initial += ' -webkit-transform:' ;
153
157
elem . styles . transform . target += ' -webkit-transform:' ;
154
158
generateTransform ( elem . styles . transform ) ;
155
159
160
+ elem . styles . transform . initial = 'transform:' ;
161
+ elem . styles . transform . target = 'transform:' ;
162
+ generateTransform ( elem . styles . transform ) ;
163
+
156
164
function generateTransform ( transform ) {
157
165
if ( parseInt ( config . distance ) ) {
158
166
transform . initial += ' translate' + config . axis + '(' + config . distance + ')' ;
@@ -175,7 +183,7 @@ ______________________________________________________________________________*/
175
183
transform . target += ' rotateZ(0)' ;
176
184
}
177
185
transform . initial += '; opacity: ' + config . opacity + ';' ;
178
- transform . target += '; opacity: ' + elem . styles . opacity + ';' ;
186
+ transform . target += '; opacity: ' + elem . styles . computed . opacity + ';' ;
179
187
}
180
188
} ;
181
189
0 commit comments