Phaser.DOM = { getOffset: function (element, point){ point = point || new Phaser.Point(); var box = element.getBoundingClientRect(); var scrollTop = Phaser.DOM.scrollY; var scrollLeft = Phaser.DOM.scrollX; var clientTop = document.documentElement.clientTop; var clientLeft = document.documentElement.clientLeft; point.x = box.left + scrollLeft - clientLeft; point.y = box.top + scrollTop - clientTop; return point; } } ; Phaser.Device.whenReady(function (device){ var scrollX = window && ('pageXOffset' in window)? function (){ return window.pageXOffset; } : function (){ return document.documentElement.scrollLeft; } ; var scrollY = window && ('pageYOffset' in window)? function (){ return window.pageYOffset; } : function (){ return document.documentElement.scrollTop; } ; Object.defineProperty(Phaser.DOM, "scrollX", { get: scrollX} ); Object.defineProperty(Phaser.DOM, "scrollY", { get: scrollY} ); } , null , true );