hana-img-viewer
Version:
A lightweight and easy-to-use image previewer for Vue 3
51 lines (50 loc) • 1.55 kB
TypeScript
/**
* 获取元素的所有滚动父容器
* @param element 目标元素
* @returns 所有滚动父容器的数组
*/
export declare function getScrollParents(element: HTMLElement): HTMLElement[];
/**
* 获取元素在所有滚动容器中的累计滚动偏移
* @param element 目标元素
* @returns 累计的滚动偏移 { x, y }
*/
export declare function getCumulativeScrollOffset(element: HTMLElement): {
x: number;
y: number;
};
/**
* 检测元素是否在固定定位的容器中
* @param element 目标元素
* @returns 是否在固定定位容器中
*/
export declare function isInFixedContainer(element: HTMLElement): boolean;
/**
* 获取元素相对于视口的精确位置
* 考虑所有滚动容器的偏移
* @param element 目标元素
* @returns 精确的位置信息
*/
export declare function getAccurateElementPosition(element: HTMLElement): {
top: number;
left: number;
width: number;
height: number;
};
/**
* 获取元素的正确初始位置,考虑页面滚动和容器类型
* @param element 目标元素
* @param pageScrollX 页面水平滚动位置
* @param pageScrollY 页面垂直滚动位置
* @returns 正确的初始位置
*/
export declare function getCorrectInitialPosition(element: HTMLElement, pageScrollX: number, pageScrollY: number): {
top: number;
left: number;
};
/**
* 检测元素是否在滚动容器中
* @param element 目标元素
* @returns 是否在滚动容器中
*/
export declare function isInScrollContainer(element: HTMLElement): boolean;