util.js 993 B

12345678910111213141516171819202122232425262728293031323334
  1. // =============================== Motion ===============================
  2. export function getMotionName(prefixCls, transitionName, animationName) {
  3. var motionName = transitionName;
  4. if (!motionName && animationName) {
  5. motionName = "".concat(prefixCls, "-").concat(animationName);
  6. }
  7. return motionName;
  8. }
  9. // =============================== Offset ===============================
  10. function getScroll(w, top) {
  11. var ret = w["page".concat(top ? 'Y' : 'X', "Offset")];
  12. var method = "scroll".concat(top ? 'Top' : 'Left');
  13. if (typeof ret !== 'number') {
  14. var d = w.document;
  15. ret = d.documentElement[method];
  16. if (typeof ret !== 'number') {
  17. ret = d.body[method];
  18. }
  19. }
  20. return ret;
  21. }
  22. export function offset(el) {
  23. var rect = el.getBoundingClientRect();
  24. var pos = {
  25. left: rect.left,
  26. top: rect.top
  27. };
  28. var doc = el.ownerDocument;
  29. var w = doc.defaultView || doc.parentWindow;
  30. pos.left += getScroll(w);
  31. pos.top += getScroll(w, true);
  32. return pos;
  33. }