2
0
mirror of https://github.com/tenrok/vue2-datepicker.git synced 2026-05-17 06:29:40 +03:00

fix: popup doesn't reposition when scrolling in Firefox (#427)

This commit is contained in:
mengxiong10
2020-03-02 13:55:23 +08:00
parent be26d2a046
commit 2d50e75ea8
+10 -5
View File
@@ -53,13 +53,18 @@ export function getRelativePosition(el, targetWidth, targetHeight, fixed) {
return { left: `${left}px`, top: `${top}px` };
}
export function getScrollParent(node, until = document) {
export function getScrollParent(node, until = document.body) {
if (!node || node === until) {
return null;
}
if (node.scrollHeight > node.clientHeight) {
return node;
}
return getScrollParent(node.parentNode, until);
const style = (value, prop) => getComputedStyle(value, null).getPropertyValue(prop);
const regex = /(auto|scroll)/;
const scroll = regex.test(
style(node, 'overflow') + style(node, 'overflow-y') + style(node, 'overflow-x')
);
return scroll ? node : getScrollParent(node.parentNode, until);
}