Giter Site home page Giter Site logo

designtips / hunt Goto Github PK

View Code? Open in Web Editor NEW

This project forked from jeremenichelli/hunt

0.0 2.0 0.0 54 KB

Library to detect when DOM elements become visible and disappear on scroll

Home Page: https://jeremenichelli.github.io/hunt

License: MIT License

JavaScript 27.65% HTML 72.35%

hunt's Introduction

hunt

Build Status

Library to detect when DOM elements become visible and disappear on scroll

Install

Download the libary and include it in a script tag or install as an npm package.

npm install huntjs --save

Use

Once you've included the script tag or require the module you need to simply pass an element or a list of them and an object to configure the actions and behaviors.

hunt(document.getElementsByClassName('element'), {
    in: function() {
        this.classList.add('visible');
    },
    out: function() {
        this.classList.remove('visible');
    }
});

You don't need to pass both in and out, you can pass one either of them or both, of course. You might have also noticed inside those methods you make reference to element that has become visible using the reserved word this, to apply any modification to it.

By default hunt will stop "hunting" or watching for the element once the out method has been executed to improve performance, but if you need these methods to be called every time the element appears and disappears from the viewport you can pass a persist option as true, but beware you can affect scrolling performance.

hunt(document.getElementsByClassName('element'), {
    in: function() {
        this.classList.add('visible');
    },
    out: function() {
        this.classList.remove('visible');
    },
    persist: true
});

In case you need actions to be executed under the hood, you can use the offset option.

hunt(document.querySelector('.action--element'), {
    in: function() {
        this.classList.add('visible');
    },
    persist: false,
    offset: 150
});

Size

This library weighs only 639 bytes minified and gzipped!

hunt's People

Contributors

jeremenichelli avatar

Watchers

Trey Brister avatar James Cloos avatar

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.