Giter Club home page Giter Club logo

component-scrollify's Introduction

Scrollify

Scrollify. Do things on scroll. 3KB minified and gzipped.

What sorts of things?

Well, whatever you want. Common effects such as parallax or toggling a class on/off are possible and bundled within. However, you may also easily create your own custom scroll function, and pass it in to Scrollify. The built-in effects include:

  • Stick: sticks an element to a particular point and holds in there for a pre-defined number of pixels.
  • Parallax: move stuff on scroll. A subtle effect that transitions elements more slowly (or perhaps quickly) than the speed of the user-scroll.
  • Toggle: turn a CSS class on or off if the element crosses a particular threshold on the page.
  • Translate: translate an element along the X- or Y- axis.
  • Rotate: rotate an element via scroll.
  • Scale: scale an element.
  • Fade: change an element's opacity.

Notes

Scrollify works by first calculating an element's position in the page so that it may be manipulated on scroll. It is important to note that as the page loads, this position may jump around as the DOM is constructed and images are loaded, etc. Therefore, it is recommended that Scrollify'd elements are not initialized until the page has finished loading all images and the DOM is stable. For example, if you're trying to Scrollify an element whose position on the page is dependent on assets loading above of it, you may wish to use window.addEventListener('load'... rather than the more common 'DOMContentLoaded'.

Demo

Showcase.

First, install dependencies and spin up a webserver via npm i && npm start. Navigate to localhost:8080/demo to check out the demos. Code samples are therein.

Getting Started

Either:

  • npm: npm i @hugeinc/scrollify
  • github: download it from Github.

Support

  • IE9+
  • Safari / Chrome
  • Firefox

TODO

  • sticky effect glitchy on resize
  • relative units "+=", "-=", etc
  • getComputedStyle to avoid defining default vals
  • simplify API for effects / options definition

Release History

0.3

  • start and duration can accept various parameter types: float, 'px', '%'
  • internalized applyTransform check

0.2

  • quick scrolling bug fixing
  • better IE support

0.1

  • initial commit

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.