mirror of
https://github.com/zhigang1992/DefinitelyTyped.git
synced 2026-06-05 06:40:35 +08:00
feat(better-scroll): add the types definition of better-scroll library
This commit is contained in:
66
types/better-scroll/better-scroll-tests.ts
Normal file
66
types/better-scroll/better-scroll-tests.ts
Normal file
@@ -0,0 +1,66 @@
|
||||
const BScroll1 = new BScroll('#wrapper');
|
||||
const BScroll2 = new BScroll('#wrapper', { scrollX: false, scrollY: false });
|
||||
const BScroll3 = new BScroll('#wrapper', {
|
||||
snap: true,
|
||||
wheel: false,
|
||||
scrollbar: false,
|
||||
pullDownRefresh: false,
|
||||
});
|
||||
const BScroll4 = new BScroll('#wrapper', {
|
||||
wheel: {
|
||||
selectedIndex: 0,
|
||||
},
|
||||
});
|
||||
const BScroll6 = new BScroll('#wrapper', {
|
||||
snap: {
|
||||
loop: false,
|
||||
el: document.querySelector('div-test'),
|
||||
threshold: 0.1,
|
||||
stepX: 100,
|
||||
stepY: 100,
|
||||
listenFlick: true,
|
||||
},
|
||||
});
|
||||
const BScroll7 = new BScroll('#wrapper', {
|
||||
scrollbar: {
|
||||
fade: true,
|
||||
},
|
||||
});
|
||||
|
||||
const BScroll8 = new BScroll('#wrapper', {
|
||||
pullDownRefresh: {
|
||||
threshold: 50,
|
||||
stop: 20,
|
||||
},
|
||||
});
|
||||
|
||||
BScroll1.refresh();
|
||||
BScroll1.scrollTo(0, 100);
|
||||
BScroll1.scrollTo(0, 100, 200);
|
||||
|
||||
BScroll1.scrollToElement('selectedElement');
|
||||
BScroll1.scrollToElement('selectedElement', 250);
|
||||
|
||||
BScroll1.scrollToElement(document.getElementById('selectedElement'));
|
||||
BScroll1.scrollToElement(document.getElementById('selectedElement'), 250);
|
||||
|
||||
BScroll2.on('scrollStart', () => { console.log('scroll started'); });
|
||||
|
||||
const BScroll9 = new BScroll(document.getElementById('wrapper'));
|
||||
const BScroll10 = new BScroll(document.getElementById('wrapper'), { freeScroll: true });
|
||||
const BScroll11 = new BScroll(document.getElementById('wrapper'), {
|
||||
preventDefaultException: {
|
||||
tagName: /^(INPUT|TEXTAREA|BUTTON|SELECT)$/,
|
||||
},
|
||||
});
|
||||
const BScroll12 = new BScroll(document.getElementById('wrapper'), {
|
||||
preventDefaultException: {
|
||||
className: /(^|\s)test(\s|$)/,
|
||||
},
|
||||
});
|
||||
|
||||
const BScroll13 = new BScroll(document.getElementById('wrapper'), {
|
||||
swipeBounceTime: 1000,
|
||||
});
|
||||
|
||||
const BScroll14 = new BScroll('#wrapper', { disableMouse: true, disableTouch: false });
|
||||
149
types/better-scroll/index.d.ts
vendored
Normal file
149
types/better-scroll/index.d.ts
vendored
Normal file
@@ -0,0 +1,149 @@
|
||||
// Type definitions for better-scroll.js v1.3.1
|
||||
// Project: https://github.com/ustbhuangyi/better-scroll
|
||||
// Definitions by: linxiaowu66 <https://github.com/linxiaowu66>
|
||||
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
|
||||
interface WheelOption {
|
||||
selectedIndex?: number,
|
||||
rotate?: number,
|
||||
adjustTime?: number
|
||||
}
|
||||
|
||||
interface SlideOption {
|
||||
loop?: boolean,
|
||||
el?: Element,
|
||||
threshold?: number,
|
||||
stepX?: number,
|
||||
stepY?: number,
|
||||
listenFlick?: boolean
|
||||
}
|
||||
interface ScrollBarOption {
|
||||
fade?: boolean
|
||||
}
|
||||
interface PullDownOption {
|
||||
threshold?: number,
|
||||
stop?: number
|
||||
}
|
||||
interface PullUpOption {
|
||||
threshold?: number
|
||||
}
|
||||
interface BsOption{
|
||||
startX?: number,
|
||||
startY?: number,
|
||||
scrollX?: boolean,
|
||||
scrollY?: boolean,
|
||||
freeScroll?: boolean,
|
||||
directionLockThreshold?: number,
|
||||
eventPassthrough?: string | boolean,
|
||||
click?: boolean,
|
||||
tap?: boolean,
|
||||
bounce?: boolean,
|
||||
bounceTime?: number,
|
||||
momentum?: boolean,
|
||||
momentumLimitTime?: number,
|
||||
momentumLimitDistance?: number,
|
||||
swipeTime?: number,
|
||||
swipeBounceTime?: number,
|
||||
deceleration?: number,
|
||||
flickLimitTime?: number,
|
||||
flickLimitDistance?: number,
|
||||
resizePolling?: number,
|
||||
probeType?: number,
|
||||
preventDefault?: boolean,
|
||||
preventDefaultException?: object,
|
||||
HWCompositing?: boolean,
|
||||
useTransition?: boolean,
|
||||
useTransform?: boolean,
|
||||
bindToWrapper?: boolean,
|
||||
disableMouse?: boolean,
|
||||
disableTouch?: boolean,
|
||||
/**
|
||||
* for picker
|
||||
* wheel: {
|
||||
* selectedIndex: 0,
|
||||
* rotate: 25,
|
||||
* adjustTime: 400
|
||||
* }
|
||||
*/
|
||||
wheel?: WheelOption | boolean,
|
||||
/**
|
||||
* for slide
|
||||
* snap: {
|
||||
* loop?: boolean,
|
||||
* el: domEl,
|
||||
* threshold: 0.1,
|
||||
* stepX: 100,
|
||||
* stepY: 100,
|
||||
* listenFlick: true
|
||||
* }
|
||||
*/
|
||||
snap?: SlideOption | boolean,
|
||||
/**
|
||||
* for scrollbar
|
||||
* scrollbar: {
|
||||
* fade: true
|
||||
* }
|
||||
*/
|
||||
scrollbar?: ScrollBarOption | boolean,
|
||||
/**
|
||||
* for pull down and refresh
|
||||
* pullDownRefresh: {
|
||||
* threshold: 50,
|
||||
* stop: 20
|
||||
* }
|
||||
*/
|
||||
pullDownRefresh?: PullDownOption | boolean,
|
||||
/**
|
||||
* for pull up and load
|
||||
* pullUpLoad: {
|
||||
* threshold: 50
|
||||
* }
|
||||
*/
|
||||
pullUpLoad?: PullUpOption | boolean
|
||||
}
|
||||
declare class BScroll {
|
||||
constructor (element: Element | string, options?: BsOption);
|
||||
// 重新计算 better-scroll,当 DOM 结构发生变化的时候务必要调用确保滚动的效果正常
|
||||
x: number
|
||||
y: number
|
||||
|
||||
refresh(): void
|
||||
// 启用 better-scroll, 默认 开启
|
||||
enable(): void
|
||||
// 禁用 better-scroll,DOM 事件(如 touchstart、touchmove、touchend)的回调函数不再响应
|
||||
disable(): void
|
||||
// 相对于当前位置偏移滚动 x,y 的距离
|
||||
scrollBy(x: number, y: number, time?: number, easing?: object): void
|
||||
// 滚动到指定的位置
|
||||
scrollTo(x: number, y: number, time?: number, easing?: object): void
|
||||
// 滚动到指定的目标元素
|
||||
scrollToElement(el: HTMLElement | string, time?: number, offsetX?: number | boolean, offsetY?: number | boolean, easing?: object): void
|
||||
// 立即停止当前运行的滚动动画
|
||||
stop(): void
|
||||
// 销毁 better-scroll,解绑事件
|
||||
destroy(): void
|
||||
|
||||
// 当我们做 slide 组件的时候,slide 通常会分成多个页面。调用此方法可以滚动到指定的页面。
|
||||
goToPage(x: number, y: number, time?: number, easing?: object): void
|
||||
// 滚动到下一个页面
|
||||
next(time: number, easing: object): void
|
||||
// 滚动到上一个页面
|
||||
prev(time: number, easing: object): void
|
||||
// 获取当前页面的信息
|
||||
getCurrentPage(): void
|
||||
// 当我们做 picker 组件的时候,调用该方法可以滚动到索引对应的位置
|
||||
wheelTo(index: number): void
|
||||
// 获取当前选中的索引值
|
||||
getSelectedIndex(): void
|
||||
// 当下拉刷新数据加载完毕后,需要调用此方法告诉 better-scroll 数据已加载
|
||||
finishPullDown(): void
|
||||
// 当上拉加载数据加载完毕后,需要调用此方法告诉 better-scroll 数据已加载
|
||||
finishPullUp(): void
|
||||
|
||||
// 监听事件
|
||||
on(type: string, fn: (evt?: any) => void): void;
|
||||
off(type: string, fn?: (evt?: any) => void): void;
|
||||
}
|
||||
|
||||
declare module 'better-scroll' {
|
||||
export default BScroll
|
||||
}
|
||||
24
types/better-scroll/tsconfig.json
Normal file
24
types/better-scroll/tsconfig.json
Normal file
@@ -0,0 +1,24 @@
|
||||
{
|
||||
"compilerOptions": {
|
||||
"module": "commonjs",
|
||||
"lib": [
|
||||
"es6",
|
||||
"dom"
|
||||
],
|
||||
"noImplicitAny": true,
|
||||
"noImplicitThis": true,
|
||||
"strictNullChecks": false,
|
||||
"strictFunctionTypes": true,
|
||||
"baseUrl": "../",
|
||||
"typeRoots": [
|
||||
"../"
|
||||
],
|
||||
"types": [],
|
||||
"noEmit": true,
|
||||
"forceConsistentCasingInFileNames": true
|
||||
},
|
||||
"files": [
|
||||
"index.d.ts",
|
||||
"better-scroll.test.ts"
|
||||
]
|
||||
}
|
||||
1
types/better-scroll/tslint.json
Normal file
1
types/better-scroll/tslint.json
Normal file
@@ -0,0 +1 @@
|
||||
{ "extends": "dtslint/dt.json" }
|
||||
Reference in New Issue
Block a user