From 1e126855a6f597fcf74941151f9f83e48e791ef2 Mon Sep 17 00:00:00 2001 From: Reavis Sutphin-Gray Date: Wed, 22 May 2013 12:12:47 -0700 Subject: [PATCH 1/2] Fix for IE10 returning matrix3d getComputedStyle on IE10 returns matrix3d insead of matrix, so different elements elements need to be used for the x and y offsets in that case. --- src/jquery.stellar.js | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/src/jquery.stellar.js b/src/jquery.stellar.js index 98b2ea5..ecd7be1 100644 --- a/src/jquery.stellar.js +++ b/src/jquery.stellar.js @@ -34,12 +34,27 @@ }, transform: { getLeft: function($elem) { - var computedTransform = getComputedStyle($elem[0])[prefixedTransform]; - return (computedTransform !== 'none' ? parseInt(computedTransform.match(/(-?[0-9]+)/g)[4], 10) * -1 : 0); + var computedTransform, matrix, left; + computedTransform = getComputedStyle($elem[0])[prefixedTransform]; + if (computedTransform === 'none') { + left = 0; + } else { + matrix = computedTransform.replace(/[^0-9\-.,]/g, '').split(','); + left = parseInt(matrix[12] || matrix[4], 10) * -1; + } + return left; }, getTop: function($elem) { - var computedTransform = getComputedStyle($elem[0])[prefixedTransform]; - return (computedTransform !== 'none' ? parseInt(computedTransform.match(/(-?[0-9]+)/g)[5], 10) * -1 : 0); + var computedTransform, matrix, top; + computedTransform = getComputedStyle($elem[0])[prefixedTransform]; + if (computedTransform === 'none') { + top = 0; + } else { + matrix = computedTransform.replace(/[^0-9\-.,]/g, '').split(','); + top = parseInt(matrix[13] || matrix[5], 10) * -1; + } + return top; + } } }, From 42ede39bde2b512a9a2cb42256b534fc6a6ab17c Mon Sep 17 00:00:00 2001 From: Reavis Sutphin-Gray Date: Wed, 22 May 2013 12:30:16 -0700 Subject: [PATCH 2/2] Fix for IE8 returning undefined --- src/jquery.stellar.js | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/jquery.stellar.js b/src/jquery.stellar.js index ecd7be1..821d232 100644 --- a/src/jquery.stellar.js +++ b/src/jquery.stellar.js @@ -36,7 +36,7 @@ getLeft: function($elem) { var computedTransform, matrix, left; computedTransform = getComputedStyle($elem[0])[prefixedTransform]; - if (computedTransform === 'none') { + if (typeof(computedTransform) === 'undefined' || computedTransform === 'none') { left = 0; } else { matrix = computedTransform.replace(/[^0-9\-.,]/g, '').split(','); @@ -47,14 +47,13 @@ getTop: function($elem) { var computedTransform, matrix, top; computedTransform = getComputedStyle($elem[0])[prefixedTransform]; - if (computedTransform === 'none') { + if (typeof(computedTransform) === 'undefined' || computedTransform === 'none') { top = 0; } else { matrix = computedTransform.replace(/[^0-9\-.,]/g, '').split(','); top = parseInt(matrix[13] || matrix[5], 10) * -1; } return top; - } } },