UNPKG

view-scroller

Version:
102 lines (101 loc) 2.72 kB
import { Scroller } from './main'; import { ScorllBarOptionsRequired, ScrollToJSON } from '../index'; declare class ScrollerEv { width: number; height: number; offsetTop: number; offsetLeft: number; scrollWidth: number; scrollHeight: number; scrollTop: number; scrollLeft: number; clientWidth: number; clientHeight: number; clientTop: number; clientLeft: number; target: any; } /** * 滚动插件的实现类 */ export default class ScrollerBar extends Scroller { #private; private options; /** * 滚动插件外层Dom对象 */ target: Element | null; /** * 滚动插件初始化的容器Dom对象 */ currentTarget: Element | null; cssSelector: string | null; state: number; constructor(); private getEvent; /** * 返回滚动插件的当前滚动事件对象 * @returns */ getScrollerEvent(): ScrollerEv; /** * 监听滚动方法 * @param callback 滚动回调 */ onScroll(callback: Function): void; /** * 监听滚动到底部回调 * @param callback 回调 */ onScrollBottom(callback: Function): void; /** * 监听滚动到顶部回调 * @param callback 回调 */ onScrollTop(callback: Function): void; /** * 监听滚动到最左回调 * @param callback 回调 */ onScrollLeft(callback: Function): void; /** * 监听滚动到最右回调 * @param callback 回调 */ onScrollRight(callback: Function): void; /** * 监听下拉刷新方法 * @param callback 滚动回调 */ onRefresh(callback: Function): void; scrollXTo(value: number, duration?: number): void; scrollYTo(value: number, duration?: number): void; scrollTo({ x, y }: ScrollToJSON, duration?: number): void; /** * 初始化滚动条拖动的全局事件 */ private dragInit; /** * 初始化滚动条 * @param el 需要初始化滚动条的html元素或css选择器 * @param options 初始化滚动条的参数 */ scrollerInit(el: Node | string, options: ScorllBarOptionsRequired): any; private getNested; private thumbResizeHor; private thumbResizeVer; private getScrollClass; private createVnode; /** * 容器大小发生变化时,更新滚动条位置和大小 */ update(): void; /** * 滚动条初始化时的参数处理函数 * @param options 初始化滚动条的参数 */ private optionsInit; destroy(): void; getState(): number; } export {};