Skip to content
This repository has been archived by the owner on Dec 26, 2023. It is now read-only.
/ Rangeable Public archive

Transform input range elements into something prettier and more configurable.

License

Notifications You must be signed in to change notification settings

Mobius1/Rangeable

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

45 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Rangeable

npm npm version license Average time to resolve an issue Percentage of issues still open

A dependency-free, responsive and touch-enabled vanilla javascript range slider to make <input type="range"> elements prettier and more configurable.

  • No dependencies
  • 3kb gzipped
  • Touch enabled
  • Responsive
  • Single or double range layouts.
  • Horizontal and vertical orientations.
  • Fully stylable to fit your app.

Rangeable

** Rangeable is still in active development and therefore the API is in constant flux until v1.0.0. Check back regularly for any changes and make sure you have the latest version installed.**


Install

npm

npm install rangeable --save

Browser

Grab the files from one of the CDNs and include them in your page:

https://unpkg.com/rangeable@latest/dist/rangeable.min.css
https://unpkg.com/rangeable@latest/dist/rangeable.min.js

You can replace latest with the required release number if needed.


Default

Create a new instance:

const rangeable = new Rangeable(input, {
    type: "single",
    tooltips: "always",
    min: 0,
    max: 100,
    step: 1,
    value: 50,
    vertical: false,
    controls: undefined,
    onInit: function() {
        // do something when the instance has loaded
    },
    onStart: function() {
        // do something on mousedown/touchstart
    },
    onChange: function() {
        // do something when the value changes
    },
    onEnd: function() {
        // do something on mouseup/touchend
    }
});

You can pass either a reference to the input or a CSS3 selector string:

const myRangeInput = document.getElementById('myRangeInput');
const rangeable = new Rangeable(myRangeInput);

// or

const rangeable = new Rangeable('#myRangeInput');

Options

See Options


Public Methods

See Public Methods


Copyright © 2018 Karl Saunders | BSD & MIT license

About

Transform input range elements into something prettier and more configurable.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published