Skip to content

Commit 41460e5

Browse files
committed
Merge pull request #92 from meandmax/add-detect-translate3d
fix(lory.js): detect translate3d and fall back to translate (e9 support)
2 parents 070fe78 + bcb2e07 commit 41460e5

10 files changed

Lines changed: 94 additions & 26 deletions

File tree

demo/js/jquery.lory.js

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -199,7 +199,12 @@ return /******/ (function(modules) { // webpackBootstrap
199199
if (style) {
200200
style[prefixes.transition + 'TimingFunction'] = ease;
201201
style[prefixes.transition + 'Duration'] = duration + 'ms';
202-
style[prefixes.transform] = 'translate3d(' + to + 'px, 0, 0)';
202+
203+
if (prefixes.hasTranslate3d) {
204+
style[prefixes.transform] = 'translate3d(' + to + 'px, 0, 0)';
205+
} else {
206+
style[prefixes.transform] = 'translate(' + to + 'px, 0)';
207+
}
203208
}
204209
}
205210

@@ -602,7 +607,7 @@ return /******/ (function(modules) { // webpackBootstrap
602607
/* 2 */
603608
/***/ function(module, exports) {
604609

605-
'use strict';
610+
/* WEBPACK VAR INJECTION */(function(global) {'use strict';
606611

607612
Object.defineProperty(exports, "__esModule", {
608613
value: true
@@ -615,9 +620,11 @@ return /******/ (function(modules) { // webpackBootstrap
615620
var transform = undefined;
616621
var transition = undefined;
617622
var transitionEnd = undefined;
623+
var hasTranslate3d = undefined;
618624

619625
(function () {
620-
var style = document.createElement('_').style;
626+
var el = document.createElement('_');
627+
var style = el.style;
621628

622629
var prop = undefined;
623630

@@ -642,14 +649,21 @@ return /******/ (function(modules) { // webpackBootstrap
642649
if (style[prop = 'transform'] === '') {
643650
transform = prop;
644651
}
652+
653+
document.body.insertBefore(el, null);
654+
style[transform] = 'translate3d(0, 0, 0)';
655+
hasTranslate3d = !!global.getComputedStyle(el).getPropertyValue(transform);
656+
document.body.removeChild(el);
645657
})();
646658

647659
return {
648660
transform: transform,
649661
transition: transition,
650-
transitionEnd: transitionEnd
662+
transitionEnd: transitionEnd,
663+
hasTranslate3d: hasTranslate3d
651664
};
652665
}
666+
/* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }())))
653667

654668
/***/ },
655669
/* 3 */

demo/js/jquery.lory.min.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

demo/js/lory.js

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -183,7 +183,12 @@ return /******/ (function(modules) { // webpackBootstrap
183183
if (style) {
184184
style[prefixes.transition + 'TimingFunction'] = ease;
185185
style[prefixes.transition + 'Duration'] = duration + 'ms';
186-
style[prefixes.transform] = 'translate3d(' + to + 'px, 0, 0)';
186+
187+
if (prefixes.hasTranslate3d) {
188+
style[prefixes.transform] = 'translate3d(' + to + 'px, 0, 0)';
189+
} else {
190+
style[prefixes.transform] = 'translate(' + to + 'px, 0)';
191+
}
187192
}
188193
}
189194

@@ -586,7 +591,7 @@ return /******/ (function(modules) { // webpackBootstrap
586591
/* 2 */
587592
/***/ function(module, exports) {
588593

589-
'use strict';
594+
/* WEBPACK VAR INJECTION */(function(global) {'use strict';
590595

591596
Object.defineProperty(exports, "__esModule", {
592597
value: true
@@ -599,9 +604,11 @@ return /******/ (function(modules) { // webpackBootstrap
599604
var transform = undefined;
600605
var transition = undefined;
601606
var transitionEnd = undefined;
607+
var hasTranslate3d = undefined;
602608

603609
(function () {
604-
var style = document.createElement('_').style;
610+
var el = document.createElement('_');
611+
var style = el.style;
605612

606613
var prop = undefined;
607614

@@ -626,14 +633,21 @@ return /******/ (function(modules) { // webpackBootstrap
626633
if (style[prop = 'transform'] === '') {
627634
transform = prop;
628635
}
636+
637+
document.body.insertBefore(el, null);
638+
style[transform] = 'translate3d(0, 0, 0)';
639+
hasTranslate3d = !!global.getComputedStyle(el).getPropertyValue(transform);
640+
document.body.removeChild(el);
629641
})();
630642

631643
return {
632644
transform: transform,
633645
transition: transition,
634-
transitionEnd: transitionEnd
646+
transitionEnd: transitionEnd,
647+
hasTranslate3d: hasTranslate3d
635648
};
636649
}
650+
/* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }())))
637651

638652
/***/ },
639653
/* 3 */

0 commit comments

Comments
 (0)