Skip to content

Agnostic utility for adding momentum to anything. It's like iScroll, except not for scrolling. Supports mouse and touch events.

License

Notifications You must be signed in to change notification settings

timothyallan/impetus

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

55 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Impetus.js

Add momentum to anything. It's like iScroll, except not for scrolling. Supports mouse and touch events.

Check out the demos on the home page.

Impetus will probably never support anything other than simple momentum. If you need scrolling or touch carousels or anything like that, this probably isn't the tool you're looking for.

Usage

var myImpetus = new Impetus({
    source: myNode,
    update: function(x, y) {
        // whatever you want to do with the values
    }
});

You give it an area to listen to for touch or mouse events, and it gives you the x and y values with some momentum.

Impetus will register itself as an AMD module if it's available.

Constructor Options

Type Default Description
source (required) HTMLElement|String - Element reference or query string for the target on which to listen for movement.
update (required) function(x, y) - This function will be called with the updated x and y values.
multiplier Number 1 The relationship between the input and output values
friction Number 0.92 Rate at which values slow down after you let go
initialValues Number[2] [0, 0] Array of initial x and y values
boundX Number[2] - Array of low and high values. X values will remain within these bounds
boundY Number[2] - Array of low and high values. X values will remain within these bounds
bounce Boolean true Whether to stretch and rebound values when pulled outside the bounds

Methods

Description
.pause() Disable movement processing
.resume() Re-enable movement processing
.setMultiplier( <number> ) Adjust the multiplier in flight
.setValues( <number> , <number> ) Adjust the current x and y output values

Browser Support

Chrome, Firefox, Safari, Opera, IE 9+, iOS, Android. Support for IE 8 can be achieved by adding a polyfill for addEventListener.

About

Agnostic utility for adding momentum to anything. It's like iScroll, except not for scrolling. Supports mouse and touch events.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 100.0%