Skip to content
This repository has been archived by the owner on Oct 28, 2020. It is now read-only.

Latest commit

History

History
140 lines (107 loc) 路 4.57 KB

README.md

File metadata and controls

140 lines (107 loc) 路 4.57 KB

鈿狅笍鈿狅笍鈿狅笍鈿狅笍鈿狅笍鈿狅笍鈿狅笍鈿狅笍鈿狅笍鈿狅笍鈿狅笍鈿狅笍鈿狅笍鈿狅笍鈿狅笍鈿狅笍鈿狅笍鈿狅笍鈿狅笍鈿狅笍鈿狅笍鈿狅笍鈿狅笍鈿狅笍鈿狅笍鈿狅笍鈿狅笍鈿狅笍鈿狅笍鈿狅笍

This software is maintained under a new repository located at yowainwright/scrolldir

鈿狅笍鈿狅笍鈿狅笍鈿狅笍鈿狅笍鈿狅笍鈿狅笍鈿狅笍鈿狅笍鈿狅笍鈿狅笍鈿狅笍鈿狅笍鈿狅笍鈿狅笍鈿狅笍鈿狅笍鈿狅笍鈿狅笍鈿狅笍鈿狅笍鈿狅笍鈿狅笍鈿狅笍鈿狅笍鈿狅笍鈿狅笍鈿狅笍鈿狅笍鈿狅笍


scrolldir banner

Leverage Vertical Scroll Direction with CSS 馃槑


Build Status CDNJS Greenkeeper npm version Bower version Share on Twitter


ScrollDir 猬嗏瑖

ScrollDir, short for Scroll Direction, is a 0 dependency, ~1kb micro Javascript plugin to easily leverage vertical scroll direction in CSS via a data attribute. 馃挭

ScrollDir is perfect for:

  • showing or hiding sticky elements based on scroll direction 馃惀
  • only changing its direction attribute when scrolled a significant amount 馃敟
  • ignoring small scroll movements that cause unwanted jitters 馃槑

Usage

ScrollDir will set the data-scrolldir attribute on the <html> element to up or down:

<html data-scrolldir="up">

or

<html data-scrolldir="down">

Now it鈥檚 easy to change styles based on the direction the user is scrolling!

[data-scrolldir="down"] .my-fixed-header { display: none; }

In Action 馃帴

Scrolldir gif


Install 馃摝

npm

npm install scrolldir --save

bower

bower install scrolldir --save

yarn

yarn add scrolldir

Setup 馃摛

Easy Mode

Add dist/scrolldir.auto.min.js and you鈥檙e done. There is nothing more to do! Scrolldir will just work.

Now go write some styles using [data-scrolldir="down"] and [data-scrolldir="up"].

Custom Mode 馃洜

Add dist/scrolldir.min.js. You have access to the API options below and must invoke scrollDir.

scrollDir();

To use an attribute besides data-scrolldir:

scrollDir({ attribute: 'new-attribute-name' });

To add the Scrolldir attribute to a different element:

scrollDir({ el: 'your-new-selector' });

To turn Scrolldir off:

scrollDir({ off: true });

To turn provide a different scroll direction on page load (or app start):

scrollDir({ dir: 'up' }); // the default is 'down'

To change the thresholdPixels鈥攖he number of pixels to scroll before re-evaluating the direction:

scrollDir({ thresholdPixels: someNumber }); // the default is 64 pixels
// example: scrollDir({ thresholdPixels: 10 })

Example 馃尨

This is a modular version of pwfisher's scroll-intent. If you'd like to use scrolldir with jQuery鈥攗se Scroll Intent. Scrolldir should work easily within any front-end framework so it ditches library dependencies. ~TY!