npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@anakinyuen/scroll-direction

v1.0.1

Published

0 dependency JavaScript library for monitoring scroll direction in the element

Downloads

44

Readme

scroll-direction

license npm version npm bundle size code style: prettier

0 dependency JavaScript library for monitoring scroll direction in the element. (Inspired by scrolldir)

Key Features

  • no dependency
  • minimal size: weighing 1.9KB only (scroll-direction.esm.js)
  • noise cancellation: only changing its direction attribute when scrolled a significant amount
  • support any DOM element: any scrollable DOM element can be observed
  • support event system: just provide a Dispatchable object, ScrollDirection will notify when the scroll direction changes

Installation

npm

$ npm install @anakinyuen/scroll-direction

Direct include

Simply download and include with a script tag.

<script src="dist/scroll-direction.umd.js"></script>

or

Using import statement

You may also import scroll-direction directly to your source code

import ScrollDirection from '@anakinyuen/scroll-direction';

Usage

Create ScrollDirection instance in ts

const scrollDirection = new ScrollDirection();
scrollDirection.start(); // start listening to scroll event

Options

attribute

Type: string Default: "data-scroll-direction"

Attribute name for storing the scroll direction.

direction

Type: "up" | "down" Default: "down"

Initial value for data-scroll-direction.

addAttributeTo

Type: HTMLElement Default: document.documentElement

The element that data-scroll-direction will be added to.

element

Type: HTMLElement Default: document.documentElement

The element that ScrollDirection should observe.

thresholdPixels

Type: number Default: 64

The number of pixels to scroll before re-evaluating the direction

historyMaxAge

Type: number Default: 512

The maximum duration for a record to determine the scroll direction.

historyLength

Type: number Default: 32

The number of records to keep to determine the scroll direction.

eventTarget

Type: { dispatchEvent: (event: Event) => boolean; }

Object that can receive events and may have listeners for them.

Compatibility

For scroll-direction.umd.js

This file is compiled by Babel with the following browserslist.

>0.2%
not dead
not op_mini all

| IE / Edge | Firefox | Chrome | Safari | iOS Safari | Samsung | Opera | | --------- | --------- | --------- | --------- | --------- | --------- | --------- | | IE11, Edge| ✓ | ✓ | ✓ | ✓ | ✓ | ✓

For scroll-direction.esm.js

Requires ES2015 classes and ES2015 module. IE11 and below not supported.

Licensing

MIT license