UNPKG

sard-uniapp

Version:

sard-uniapp 是一套基于 Uniapp + Vue3 框架开发的兼容多端的 UI 组件库

68 lines (63 loc) 2.41 kB
export type ScrollIntoViewPosition = 'start' | 'center' | 'end' | 'nearest'; export interface ScrollIntoViewValueOptions { position?: ScrollIntoViewPosition; startOffset?: number; endOffset?: number; } export interface ScrollIntoViewOptions { position?: ScrollIntoViewPosition; startOffset?: number; endOffset?: number; duration?: number; } /** ``` page ╱ ╭───────────────╮ viewport ╭─│─ ─ ─ ─ ─ ─ ─ ─│─╮ ╱ │ │ ╭───────────╮ │ │ │ │ │ element │ │ │ │ │ ╰───────────╯ │ │ ╰─│─ ─ ─ ─ ─ ─ ─ ─│─╯ │ │ │ │ ╰───────────────╯ ``` # 参数 - viewportHeight: viewport 高度 - viewportScrollTop: viewport 垂直滚动值 - elementHeight: element 高度 - elementOffsetTop: element 距离页面顶部距离 # 选项 - position: element 在视窗中的位置(start, center, end, nearest) - startOffset: element 距离视窗顶部的偏移量 - endOffset: element 距离视窗底部的偏移量 # 结果值 - viewportScrollTop: viewport 新的垂直滚动值 */ export declare function getScrollIntoViewValue(viewportHeight: number, viewportScrollTop: number, elementHeight: number, elementOffsetTop: number, options?: ScrollIntoViewValueOptions): number; export interface NodeRect { top: number; right: number; bottom: number; left: number; height: number; width: number; } interface MatchScrollVisibleOptions { offset?: number; errorValue?: number; } /** * @description: 匹配元素列表中第一个位于滚动盒子可视区域的元素 */ export declare function matchScrollVisible(rects: NodeRect[], callback: (index: number) => unknown, options?: MatchScrollVisibleOptions): Promise<unknown>; export declare function getAspectFillSize(origWidth: number, origHeight: number, containerWidth: number, containerHeight: number): [number, number]; export declare function getAspectFitSize(origWidth: number, origHeight: number, containerWidth: number, containerHeight: number): [number, number]; interface Point { x: number; y: number; } export declare function getTwoPointsDistance(p1: Point, p2: Point): number; export {};