util.js 1020 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", {
  3. value: true
  4. });
  5. exports.getOffsetLeft = getOffsetLeft;
  6. function getScroll(w) {
  7. var ret = w.pageXOffset;
  8. var method = 'scrollLeft';
  9. if (typeof ret !== 'number') {
  10. var d = w.document;
  11. // ie6,7,8 standard mode
  12. ret = d.documentElement[method];
  13. if (typeof ret !== 'number') {
  14. // quirks mode
  15. ret = d.body[method];
  16. }
  17. }
  18. return ret;
  19. }
  20. function getClientPosition(elem) {
  21. var x;
  22. var y;
  23. var doc = elem.ownerDocument;
  24. var body = doc.body;
  25. var docElem = doc && doc.documentElement;
  26. var box = elem.getBoundingClientRect();
  27. x = box.left;
  28. y = box.top;
  29. x -= docElem.clientLeft || body.clientLeft || 0;
  30. y -= docElem.clientTop || body.clientTop || 0;
  31. return {
  32. left: x,
  33. top: y
  34. };
  35. }
  36. function getOffsetLeft(el) {
  37. var pos = getClientPosition(el);
  38. var doc = el.ownerDocument;
  39. // Only IE use `parentWindow`
  40. var w = doc.defaultView || doc.parentWindow;
  41. pos.left += getScroll(w);
  42. return pos.left;
  43. }