snap-slider
Lightweight, easily customizable slider.
Browser support
IE |
Edge |
Firefox |
Chrome |
Safari |
---|---|---|---|---|
None | 76+ | 68+ | 69+ | 11+ (partial*) |
Install
$ npm install snap-slider
Demo
https://ryanwalters.github.io/snap-slider/
Options
Options marked with an asterisk (*) are required
Option Name | Type | Default | Description |
---|---|---|---|
$slider * |
Element |
none | The element containing the slides. |
$buttonPrev |
Element |
<button> |
Custom previous button. |
$buttonNext |
Element |
<button> |
Custom next button. |
$track |
Element |
<div> |
Allows the use of a custom element to be used for the track that contains the slides. Useful, for example, for composing React components. |
scrollRatio |
number |
1 |
The percentage of the track that should be scrolled. Example: a value of 0.75 will scroll 75% of the width of the container. |
Usage
keyboard_arrow_left keyboard_arrow_right
;; const $track = $slider: document $buttonPrev: document // Optional $buttonNext: document // Optional scrollRatio: 05 // Optional; // $track is an HTMLElement, so you have access to all the standard JS methods and properties // Examples:// Append $track; // Single slide$track; // Multiple slides // Prepend $track; // Single slide$track; // Multiple slides
The children of #your-slider
can be anything (e.g. div
, picture
, whatever), not only img
elements.
*Partial Safari support refers to the scrollBy method's ScrollToOptions parameter not being supported. This prevents the smooth scrolling behavior. The smoothscroll-polyfill can be used until Safari has proper support.