ph-utils 0.2.12 → 0.2.13
Sign up to get free protection for your applications and to get access to all the features.
- package/lib/dom.d.ts +10 -0
- package/lib/dom.js +24 -0
- package/lib/index.js +2 -1
- package/lib/index_m.js +2 -1
- package/package.json +1 -1
package/lib/dom.d.ts
CHANGED
@@ -80,3 +80,13 @@ export declare function attr(elem: HTMLElement, key: string, value?: string): st
|
|
80
80
|
* @returns
|
81
81
|
*/
|
82
82
|
export declare function parent(el: HTMLElement): HTMLElement;
|
83
|
+
/**
|
84
|
+
* 获取隐藏节点的尺寸
|
85
|
+
* @param {string | HTMLElement} hideNode - The node to hide.
|
86
|
+
* @param parent - 添加临时节点的父节点,默认为: body.
|
87
|
+
* @returns The DOMRect of the element.
|
88
|
+
*/
|
89
|
+
export declare function queryHideNodeSize(hideNode: string | HTMLElement, parent?: HTMLElement): {
|
90
|
+
width: number;
|
91
|
+
height: number;
|
92
|
+
};
|
package/lib/dom.js
CHANGED
@@ -164,3 +164,27 @@ export function attr(elem, key, value) {
|
|
164
164
|
export function parent(el) {
|
165
165
|
return el.parentNode;
|
166
166
|
}
|
167
|
+
/**
|
168
|
+
* 获取隐藏节点的尺寸
|
169
|
+
* @param {string | HTMLElement} hideNode - The node to hide.
|
170
|
+
* @param parent - 添加临时节点的父节点,默认为: body.
|
171
|
+
* @returns The DOMRect of the element.
|
172
|
+
*/
|
173
|
+
export function queryHideNodeSize(hideNode, parent = document.body) {
|
174
|
+
// 计算折叠菜单的高度
|
175
|
+
let $tmp = document.createElement('div');
|
176
|
+
$tmp.style.cssText = 'position:fixed;left:-1000px;top:-1000px;opacity:0;';
|
177
|
+
let $tmpInner = document.createElement('div');
|
178
|
+
$tmpInner.style.cssText = 'position:relative;';
|
179
|
+
if (typeof hideNode === 'string') {
|
180
|
+
$tmpInner.innerHTML = hideNode;
|
181
|
+
}
|
182
|
+
else {
|
183
|
+
$tmpInner.appendChild(hideNode.cloneNode(true));
|
184
|
+
}
|
185
|
+
$tmp.appendChild($tmpInner);
|
186
|
+
parent.appendChild($tmp);
|
187
|
+
let rect = $tmpInner.children[0].getBoundingClientRect();
|
188
|
+
parent.removeChild($tmp);
|
189
|
+
return { width: rect.width, height: rect.height };
|
190
|
+
}
|
package/lib/index.js
CHANGED
@@ -86,9 +86,10 @@ exports.BaseError = BaseError;
|
|
86
86
|
function throttle(func, wait = 300) {
|
87
87
|
let t = -1;
|
88
88
|
return function (...args) {
|
89
|
+
const self = this;
|
89
90
|
clearTimeout(t);
|
90
91
|
t = setTimeout(() => {
|
91
|
-
func(
|
92
|
+
func.apply(self, args);
|
92
93
|
}, wait);
|
93
94
|
};
|
94
95
|
}
|
package/lib/index_m.js
CHANGED
@@ -73,9 +73,10 @@ export class BaseError extends Error {
|
|
73
73
|
export function throttle(func, wait = 300) {
|
74
74
|
let t = -1;
|
75
75
|
return function (...args) {
|
76
|
+
const self = this;
|
76
77
|
clearTimeout(t);
|
77
78
|
t = setTimeout(() => {
|
78
|
-
func(
|
79
|
+
func.apply(self, args);
|
79
80
|
}, wait);
|
80
81
|
};
|
81
82
|
}
|