diff --git a/js/utils/dom.js b/js/utils/dom.js index 9b45c68fe13..114e4fa41e0 100644 --- a/js/utils/dom.js +++ b/js/utils/dom.js @@ -17,16 +17,10 @@ * until we are at the direct child of parentEl * use-case: find scroll offset of any element within a scroll container */ - getPositionInParent: function(el, parentEl) { - var left = 0, top = 0; - while (el && el !== parentEl) { - left += el.offsetLeft; - top += el.offsetTop; - el = el.parentNode; - } + getPositionInParent: function(el) { return { - left: left, - top: top + left: el.offsetLeft, + top: el.offsetTop }; }, diff --git a/test/js/utils/dom.js b/test/js/utils/dom.js deleted file mode 100644 index 97e44e439da..00000000000 --- a/test/js/utils/dom.js +++ /dev/null @@ -1,40 +0,0 @@ - -describe('js/utils/dom', function() { - - describe('getPositionInParent', function() { - it('should return 0,0 if el===parentEl', function() { - var el = {}; - expect(ionic.DomUtil.getPositionInParent(el, el)).toEqual({ - left: 0, - top: 0 - }); - }); - it('should return 0,0 if el is null', function() { - expect(ionic.DomUtil.getPositionInParent(null, null)).toEqual({ - left: 0, - top: 0 - }); - }); - it('should return element offset{Top,Left} of el if el is parent\'s child', function() { - var parent = {}; - var el = {parentNode: parent, offsetLeft: 3, offsetTop: 2}; - expect(ionic.DomUtil.getPositionInParent(el, parent)).toEqual({ - left: 3, - top: 2 - }); - }); - it('should return added element offset{Top,Left} of all children up to parent', function() { - var parent = {}; - var child1 = {parentNode: parent, offsetLeft: 5, offsetTop: 6}; - var child2 = {parentNode: child1, offsetLeft: 10, offsetTop: 11}; - expect(ionic.DomUtil.getPositionInParent(child1, parent)).toEqual({ - left: 5, - top: 6 - }); - expect(ionic.DomUtil.getPositionInParent(child2, parent)).toEqual({ - left: 15, - top: 17 - }); - }); - }); -}); diff --git a/test/js/utils/dom.unit.js b/test/js/utils/dom.unit.js new file mode 100644 index 00000000000..35a8b1cb94b --- /dev/null +++ b/test/js/utils/dom.unit.js @@ -0,0 +1,10 @@ + +describe('js/utils/dom', function() { + + describe('getPositionInParent', function() { + it('should return el.{offsetLeft,offsetTop}', function() { + var el = { offsetLeft: 3, offsetTop: 4 }; + expect(ionic.DomUtil.getPositionInParent(el)).toEqual({ left: 3, top: 4 }); + }); + }); +});