Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

moveto

Package Overview
Dependencies
Maintainers
1
Versions
19
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

moveto

A lightweight, smooth scrolling javascript library without any dependency.

  • 1.4.0
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
3.7K
decreased by-19.98%
Maintainers
1
Weekly downloads
 
Created
Source

MoveTo npm version Bower version Build Status

A lightweight, smooth scrolling javascript library without any dependency.

Demo

Installation

Using NPM

npm install moveTo --save

Using Yarn

yarn add moveTo

Using Bower

bower install moveTo --save

Usage

const moveTo = new MoveTo();

const target = document.getElementById('target');

moveTo.move(target);

// or register a trigger

const trigger = document.getElementsByClassName('js-trigger')[0];

moveTo.registerTrigger(trigger);

Trigger HTML markup

You can pass all options as data attributes with mt prefix. Option name should be written in kebab case format.

  <a href="#target" class="js-trigger" data-mt-duration="300">Trigger</a>

Options

The default options are as follows:

new MoveTo({
  tolerance: 0,
  duration: 800,
  easing: 'easeOutQuart'
})
OptionDefaultDesctiption
tolerance0The tolerance of the target to be scrolled, can be negative or positive.
duration800Duration of scrolling, in milliseconds.
easingeaseOutQuartEase function name
callbacknoopThe function to be run after scrolling complete. Target passes as the first argument

API

move(target, options)

Scrolls to target

target

Type: HTMLElement|Number

Target element/position to be scrolled. Target position is the distance to the top of the page

options

Type: Object

Pass custom options

registerTrigger(trigger, callback)

trigger

Type: HTMLElement

This is the trigger element for starting to scroll when on click.

callback

This is the callback function to be run after the scroll complete. This will overwrite the callback option.

addEaseFunction(name, fn)

Adds custom ease function

name

Type: String

Ease function name

fn

Type: Function

Ease function. See http://gizma.com/easing/ for more ease function.

Examples

Pass ease function(s) when creating instance
document.addEventListener('DOMContentLoaded', function(){
  const easeFunctions = {
    easeInQuad: function (t, b, c, d) {
      t /= d;
      return c * t * t + b;
    },
    easeOutQuad: function (t, b, c, d) {
      t /= d;
      return -c * t* (t - 2) + b;
    }
  }
  const moveTo = new MoveTo({
    duration: 1000,
    easing: 'easeInQuad'
  }, easeFunctions);
  const trigger = document.getElementsByClassName('js-trigger')[0];
  moveTo.registerTrigger(trigger);
});
Working with callback function
document.addEventListener('DOMContentLoaded', function(){
  const moveTo = new MoveTo({
    duration: 1000,
    callback: function(target) {
      // This will run if there is no overwrite
    }
  });
  const trigger = document.getElementsByClassName('js-trigger')[0];

  moveTo.registerTrigger(trigger, function(target) {
    // overwrites global callback
  });

  // or

  moveTo.move(1200, {
    duration: 500,
    callback: function() {
      // overwrites global callback
    }
  });
});

Development setup

# To install dev dependencies run:

yarn

# or

npm install

# To start the development server run:

gulp serve

# To lint your code run:

gulp scripts:lint

# To make a full new build run:

gulp build

# To run tests

yarn test

# or

npm test

Browser Support

It should work in the current stable releases of Chrome, Firefox, Safari as well as IE9 and up.

License

Copyright (c) 2017 Hasan Aydoğdu. See the LICENSE file for license rights and limitations (MIT).

Keywords

FAQs

Package last updated on 15 Mar 2017

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc