UNPKG

1.98 kBJavaScriptView Raw
1export var MAX_CONFIRM_HEIGHT = 220;
2/**
3 * 计算target的中点位置
4 * @param {HTMLElement} target
5 */
6
7export function computeTargetCenterPosition(target) {
8 var _target$getBoundingCl = target.getBoundingClientRect(),
9 top = _target$getBoundingCl.top,
10 left = _target$getBoundingCl.left,
11 width = _target$getBoundingCl.width,
12 height = _target$getBoundingCl.height;
13
14 return {
15 top: top + height / 2,
16 left: left + width / 2
17 };
18}
19export function computePositionToMakePopCenter(popEl, target) {
20 var _computeTargetCenterP = computeTargetCenterPosition(target),
21 top = _computeTargetCenterP.top,
22 left = _computeTargetCenterP.left;
23
24 return {
25 left: left,
26 top: top,
27 marginTop: -popEl.offsetHeight / 2,
28 marginLeft: -popEl.offsetWidth / 2
29 };
30}
31/**
32 * 设置pop样式,当setPosition为true 时,可以设置位置和偏移
33 * @param dirClass
34 * @param maxHeight
35 * @param isSetPosition
36 * @param {*} position 位置
37 * @param {*} translate 偏移量
38 * @returns {CSSStyleSheet}
39 */
40
41export function genPopStyleIfPosition(dirClass, maxHeight) {
42 var isSetPosition = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
43
44 var _ref = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {
45 top: '',
46 bottom: '',
47 left: '',
48 right: ''
49 },
50 top = _ref.top,
51 bottom = _ref.bottom,
52 left = _ref.left,
53 right = _ref.right;
54
55 return isSetPosition ? {
56 "WebkitTransformOrigin": dirClass,
57 "MozTransformOrigin": dirClass,
58 "MzTransformOrigin": dirClass,
59 "OTransformOrigin": dirClass,
60 "left": left + "px",
61 "top": top + "px",
62 'bottom': bottom + 'px',
63 'right': right + 'px',
64 "maxHeight": maxHeight // 最大高度为220px, 减去padding15
65
66 } : {
67 "WebkitTransformOrigin": dirClass,
68 "MozTransformOrigin": dirClass,
69 "MzTransformOrigin": dirClass,
70 "OTransformOrigin": dirClass,
71 "maxHeight": maxHeight
72 };
73}
\No newline at end of file