diff --git a/scrollreveal/scrollreveal-tests.ts b/scrollreveal/scrollreveal-tests.ts new file mode 100644 index 0000000000..f0b205763d --- /dev/null +++ b/scrollreveal/scrollreveal-tests.ts @@ -0,0 +1,74 @@ +/// + +//Tests from https://github.com/jlmakes/scrollreveal.js + +//1.2 +var sr = ScrollReveal(); +sr.reveal('.foo'); +sr.reveal('.bar'); + +//1.3 +sr = ScrollReveal().reveal('.foo, .bar'); + +//2.1 +sr = ScrollReveal({ reset: true }); +sr.reveal('.foo', { duration: 200 }); + +//3.1 +sr = ScrollReveal({ duration: 2000 }); +sr.reveal('.box', 50); + +sr = ScrollReveal(); +sr.reveal('.box', { duration: 2000 }, 50); + +//3.2 +var fooReveal = { + delay : 200, + distance : '90px', + easing : 'ease-in-out', + rotate : { z: 10 }, + scale : 1.1 +}; + +sr = ScrollReveal(); +sr.reveal('.foo', fooReveal); +sr.reveal('#chocolate', { delay: 500, scale: 0.9 }); + +//3.3 +sr.reveal(document.getElementById('foo')); +sr.reveal(document.querySelectorAll('.bar')); + +//3.4 +sr = ScrollReveal(); +var fooContainer = document.getElementById('fooContainer'); +sr.reveal('.foo', { container: fooContainer }); +sr.reveal('.bar', { container: '#barContainer' }); + +//3.5 + +fooContainer = document.getElementById('fooContainer'); + +sr = ScrollReveal(); +sr.reveal('.foo', { container: fooContainer }); +var xmlhttp = new XMLHttpRequest(); +xmlhttp.onreadystatechange = function() { + if (xmlhttp.readyState == XMLHttpRequest.DONE) { + if (xmlhttp.status == 200) { + + // Turn our response into HTML... + var content = document.createElement('div'); + content.innerHTML = xmlhttp.responseText; + + // Add each element to the DOM... + for (var i = 0; i < content.childNodes.length; i++) { + fooContainer.appendChild(content.childNodes[ i ]); + }; + + // Finally! + sr.sync(); + } + } +} + +xmlhttp.open('GET', 'ajax.html', true); +xmlhttp.send(); \ No newline at end of file diff --git a/scrollreveal/scrollreveal.d.ts b/scrollreveal/scrollreveal.d.ts new file mode 100644 index 0000000000..d1478c8243 --- /dev/null +++ b/scrollreveal/scrollreveal.d.ts @@ -0,0 +1,68 @@ +// Type definitions for ScrollReveal +// Project: https://github.com/jlmakes/scrollreveal.js +// Definitions by: David Pires +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped + +declare namespace scrollReveal { + interface ScrollRevealRotateObject { + x?: number; + y?: number; + z?: number; + } + + interface ScrollRevealPositionObject { + top?: number; + right?: number; + bottom?: number; + left?: number; + } + + interface ScrollRevealObjectOptions { + origin ? : string; + distance ? : string; + duration ? : number; + delay ? : number; + rotate ? : ScrollRevealRotateObject; + opacity ? : number; + scale ? : number; + easing ? : string; + container ? : any; + mobile ? : boolean; + reset ? : boolean; + useDelay ? : string; + viewFactor ? : number; + viewOffset ? : ScrollRevealPositionObject; + beforeReveal ? (domEl: HTMLElement): void; + afterReveal ? (domEl: HTMLElement): void; + beforeReset ? (domEl: HTMLElement): void; + afterReset ? (domEl: HTMLElement): void; + beforeReveal ? (domEl: NodeListOf): void; + afterReveal ? (domEl: NodeListOf): void; + beforeReset ? (domEl: NodeListOf): void; + afterReset ? (domEl: NodeListOf): void; + } + + + interface ScrollRevealObject { + (): ScrollRevealObject; + (options: ScrollRevealObjectOptions): ScrollRevealObject; + reveal(selector: string): ScrollRevealObject; + reveal(selector: string, interval: number): ScrollRevealObject; + reveal(selector: string, options: ScrollRevealObjectOptions): ScrollRevealObject; + reveal(selector: string, options: ScrollRevealObjectOptions, interval: number): ScrollRevealObject; + + reveal(selector: HTMLElement): ScrollRevealObject; + reveal(selector: HTMLElement, interval: number): ScrollRevealObject; + reveal(selector: HTMLElement, options: ScrollRevealObjectOptions): ScrollRevealObject; + reveal(selector: HTMLElement, options: ScrollRevealObjectOptions, interval: number): ScrollRevealObject; + + reveal(selector: NodeListOf): ScrollRevealObject; + reveal(selector: NodeListOf, interval: number): ScrollRevealObject; + reveal(selector: NodeListOf, options: ScrollRevealObjectOptions): ScrollRevealObject; + reveal(selector: NodeListOf, options: ScrollRevealObjectOptions, interval: number): ScrollRevealObject; + + sync(): void; + } +} + +declare var ScrollReveal: scrollReveal.ScrollRevealObject; \ No newline at end of file