Merge pull request #1417 from csrakowski/iScroll-5

Added iScroll 5 typings
This commit is contained in:
Masahiro Wakame
2013-12-10 18:27:54 -08:00
3 changed files with 166 additions and 0 deletions
+39
View File
@@ -0,0 +1,39 @@
// Type definitions for iScroll Lite 5
// Project: http://cubiq.org/iscroll-5-ready-for-beta-test
// Definitions by: Christiaan Rakowski <https://github.com/csrakowski/>
// Definitions: https://github.com/borisyankov/DefinitelyTyped
interface IScrollOptions {
//hScroll?: boolean;
//vScroll?: boolean;
scrollX?: boolean;
scrollY?: boolean;
x?: number;
y?: number;
bounce?: boolean;
bounceLock?: boolean;
momentum?: boolean;
lockDirection?: boolean;
useTransform?: boolean;
useTransition?: boolean;
}
declare class IScroll {
constructor (element: string, options?: IScrollOptions);
constructor (element: HTMLElement, options?: IScrollOptions);
destroy(): void;
refresh(): void;
scrollTo(x: number, y: number, time?: number, relative?: boolean): void;
scrollToElement(element: string, time?: number): void;
scrollToElement(element: HTMLElement, time?: number): void;
disable(): void;
enable(): void;
stop(): void;
// Events
on: (type: string, fn: () => void) => void;
}
+36
View File
@@ -0,0 +1,36 @@
/// <reference path="iscroll-5.d.ts" />
var myScroll1 = new IScroll('#wrapper');
var myScroll2 = new IScroll('#wrapper', { hScrollbar: false, vScrollbar: false });
var myScroll3 = new IScroll('#wrapper', {
snap: true,
momentum: false,
hScrollbar: false,
vScrollbar: false
});
var myScroll4 = new IScroll('#wrapper', {
snap: 'li',
momentum: false,
hScrollbar: false,
vScrollbar: false
});
var myScroll6 = new IScroll('#wrapper', { scrollbarClass: 'myScrollbar' });
var myScroll7 = new IScroll('#wrapper', { bounceEasing: 'elastic', bounceTime: 1200 });
var myScroll8 = new IScroll('#wrapper', { eventPassthrough: true, scrollX: true, scrollY: false, preventDefault: false });
myScroll1.refresh();
myScroll1.scrollTo(0, 100);
myScroll1.scrollTo(0, 100, 200);
myScroll1.scrollTo(0, 100, 200, true);
myScroll1.scrollToElement('selectedElement');
myScroll1.scrollToElement('selectedElement', 250);
myScroll1.scrollToElement(document.getElementById('selectedElement'));
myScroll1.scrollToElement(document.getElementById('selectedElement'), 250);
myScroll2.on('scrollStart', function () { console.log('scroll started'); });
var myScroll9 = new IScroll(document.getElementById('wrapper'));
var myScroll10 = new IScroll(document.getElementById('wrapper'), { scrollbarClass: 'myScrollbar' });
+91
View File
@@ -0,0 +1,91 @@
// Type definitions for iScroll 5
// Project: http://cubiq.org/iscroll-5-ready-for-beta-test
// Definitions by: Christiaan Rakowski <https://github.com/csrakowski/>
// Definitions: https://github.com/borisyankov/DefinitelyTyped
interface IScrollOptions {
//hScroll?: boolean;
//vScroll?: boolean;
x?: number;
y?: number;
bounce?: boolean;
bounceLock?: boolean;
momentum?: boolean;
lockDirection?: boolean;
useTransform?: boolean;
useTransition?: boolean;
topOffset?: number;
checkDOMChanges?: boolean;
handleClick?: boolean;
// Scrollbar
hScrollbar?: boolean;
vScrollbar?: boolean;
fixedScrollbar?: boolean;
hideScrollbar?: boolean;
fadeScrollbar?: boolean;
scrollbarClass?: string;
// Zoom
zoom?: boolean;
zoomMin?: number;
zoomMax?: number;
doubleTapZoom?: number;
wheelAction?: string;
///String or boolean
snap?: any;
snapThreshold?: number;
//new in IScroll 5?
resizeIndicator?: boolean;
mouseWheelSpeed?: number;
startX?: number;
startY?: number;
scrollX?: boolean;
scrollY?: boolean;
directionLockThreshold?: number;
bounceTime?: number;
///String or function
bounceEasing?: any;
preventDefault?: boolean;
preventDefaultException?: boolean;
HWCompositing?: boolean;
freeScroll?: boolean;
resizePolling?: number;
tap?: boolean;
click?: boolean;
invertWheelDirection?: boolean;
///Boolean or string
eventPassthrough?: any;
}
declare class IScroll {
constructor (element: string, options?: IScrollOptions);
constructor (element: HTMLElement, options?: IScrollOptions);
destroy(): void;
refresh(): void;
scrollTo(x: number, y: number, time?: number, relative?: boolean): void;
scrollToElement(element: string, time?: number): void;
scrollToElement(element: HTMLElement, time?: number): void;
scrollToPage(pageX: number, pageY: number, time?: number): void;
disable(): void;
enable(): void;
stop(): void;
zoom(x: number, y: number, scale: number, time?: number): void;
isReady(): boolean;
// Events
on: (type: string, fn: () => void) => void;
}