https://github.com/pecuchet/go-scroll-to
Small, smooth, speed-driven and stoppable scrolling to an element or a position, inside the viewport or a parent element.
https://github.com/pecuchet/go-scroll-to
scroll-to scroll-to-element scrollto
Last synced: about 1 month ago
JSON representation
Small, smooth, speed-driven and stoppable scrolling to an element or a position, inside the viewport or a parent element.
- Host: GitHub
- URL: https://github.com/pecuchet/go-scroll-to
- Owner: pecuchet
- License: other
- Created: 2016-03-25T17:39:15.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2018-12-07T20:21:47.000Z (over 6 years ago)
- Last Synced: 2025-03-27T02:39:27.385Z (about 2 months ago)
- Topics: scroll-to, scroll-to-element, scrollto
- Language: JavaScript
- Homepage:
- Size: 10.7 KB
- Stars: 4
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# go-scroll-to 2
A fast and lightweight (±595B gzipped) javascript module to smoothly scrollTo. It scrolls by speed instead of duration, to a position or an element, within the window or any scrollable parent element. And it's stoppable. And aside from a modern browser, it's dependency free.## !important
go-scroll-to has been rewritten to an ES6 module. If you still need support for older browsers use [version 1.0.3](https://github.com/pecuchet/go-scroll-to/releases/tag/1.0.3) (``npm install go-scroll-to@^1.0.3``)## Features
- Scroll the window or any scrollable element
- Scroll by speed: the duration is relative to the distance
- Stop when the user manually scrolls (i.e. 'mouse wheels' or 'touch starts')
- Sets an 'auto-scrolling' class name on the body element
- Scroll to top, to a specific position or to an element
- Offset the target position
- Touch compatible## Examples
### Scroll to top
```
goScroll();
```### Scroll to position inside a scrollable element
```
goScroll({
to: 300,
context: document.getElementById('scrollable')
});
```### Scroll slowly to element inside a scrollable element
```
goScroll({
to: document.getElementById('element'),
speed: .3,
context: document.getElementById('scrollable')
});
```## Install through npm
```
npm install go-scroll-to
```
for version 1: ``npm install go-scroll-to@^1.0.3``## All Options
**to**: HTMLElement or Number. Default: 0
**offset**: Number, offset the target position. Default: 0
**context**: HTMLElement. Default: window
**speed**: Float greater than 0, higher is faster. Default: 2
**callback**: Function, triggered when target is reached or when the user interrupts the animation. The callback receives one argument, which will be `1` if the target position was reached. Default: undefined## License
Apache 2.0