You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
51 lines
1.0 KiB
51 lines
1.0 KiB
"use strict";
|
|
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
exports.getOffsetLeft = getOffsetLeft;
|
|
|
|
/* eslint-disable import/prefer-default-export */
|
|
function getScroll(w) {
|
|
var ret = w.pageXOffset;
|
|
var method = 'scrollLeft';
|
|
|
|
if (typeof ret !== 'number') {
|
|
var d = w.document; // ie6,7,8 standard mode
|
|
|
|
ret = d.documentElement[method];
|
|
|
|
if (typeof ret !== 'number') {
|
|
// quirks mode
|
|
ret = d.body[method];
|
|
}
|
|
}
|
|
|
|
return ret;
|
|
}
|
|
|
|
function getClientPosition(elem) {
|
|
var x;
|
|
var y;
|
|
var doc = elem.ownerDocument;
|
|
var body = doc.body;
|
|
var docElem = doc && doc.documentElement;
|
|
var box = elem.getBoundingClientRect();
|
|
x = box.left;
|
|
y = box.top;
|
|
x -= docElem.clientLeft || body.clientLeft || 0;
|
|
y -= docElem.clientTop || body.clientTop || 0;
|
|
return {
|
|
left: x,
|
|
top: y
|
|
};
|
|
}
|
|
|
|
function getOffsetLeft(el) {
|
|
var pos = getClientPosition(el);
|
|
var doc = el.ownerDocument; // Only IE use `parentWindow`
|
|
|
|
var w = doc.defaultView || doc.parentWindow;
|
|
pos.left += getScroll(w);
|
|
return pos.left;
|
|
} |