tdesign-react
Version:
TDesign Component for React
40 lines (39 loc) • 1.42 kB
TypeScript
import { ScrollContainer, ScrollContainerElement } from '../common';
import { EasingFunction } from './easing';
export declare function hasBodyScrollbar(): boolean;
export declare const isNodeOverflow: (ele: Element | Element[]) => boolean;
/**
* 获取滚动容器
* 因为 document 不存在 scroll 等属性, 因此排除 document
* window | HTMLElement
* @param {ScrollContainerElement} [container='body']
* @returns {ScrollContainer}
*/
export declare const getScrollContainer: (container?: ScrollContainer) => ScrollContainerElement;
/**
* 获取滚动距离
*
* @export
* @param {ScrollTarget} target
* @param {boolean} isLeft true 为获取 scrollLeft, false 为获取 scrollTop
* @returns {number}
*/
export declare function getScroll(target: ScrollTarget, isLeft?: boolean): number;
export type ScrollTarget = HTMLElement | Window | Document;
interface ScrollTopOptions {
container?: ScrollTarget;
duration?: number;
easing?: EasingFunction;
}
export declare function scrollTo(target: number, opt: ScrollTopOptions): Promise<unknown>;
/**
* 获取当前视图滑动的距离
* @returns { scrollTop: number, scrollLeft: number }
*/
export declare function getWindowScroll(): {
scrollTop: number;
scrollLeft: number;
};
export type AnchorContainer = HTMLElement | Window;
export declare function getOffsetTop(target: HTMLElement, container: AnchorContainer): number;
export {};