util.js 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839
  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. // ================================ UUID ================================
  10. var uuid = -1;
  11. export function getUUID() {
  12. uuid += 1;
  13. return uuid;
  14. }
  15. // =============================== Offset ===============================
  16. function getScroll(w, top) {
  17. var ret = w["page".concat(top ? 'Y' : 'X', "Offset")];
  18. var method = "scroll".concat(top ? 'Top' : 'Left');
  19. if (typeof ret !== 'number') {
  20. var d = w.document;
  21. ret = d.documentElement[method];
  22. if (typeof ret !== 'number') {
  23. ret = d.body[method];
  24. }
  25. }
  26. return ret;
  27. }
  28. export function offset(el) {
  29. var rect = el.getBoundingClientRect();
  30. var pos = {
  31. left: rect.left,
  32. top: rect.top
  33. };
  34. var doc = el.ownerDocument;
  35. var w = doc.defaultView || doc.parentWindow;
  36. pos.left += getScroll(w);
  37. pos.top += getScroll(w, true);
  38. return pos;
  39. }