
Product
Introducing Socket Firewall Enterprise: Flexible, Configurable Protection for Modern Package Ecosystems
Socket Firewall Enterprise is now available with flexible deployment, configurable policies, and expanded language support.
snap-slider
Advanced tools
Lightweight, easily customizable slider.
![]() IE | ![]() Edge | ![]() Firefox | ![]() Chrome | ![]() Safari |
|---|---|---|---|---|
| None | 76+ | 68+ | 69+ | 11+ (partial*) |
$ npm install snap-slider
https://ryanwalters.github.io/snap-slider/
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. |
<button class="custom-previous-button">
<i class="material-icons">keyboard_arrow_left</i>
</button>
<div id="your-slider">
<img src="//placehold.it/300x300" alt="fancy image" />
<img src="//placehold.it/300x300" alt="fancy image" />
<img src="//placehold.it/300x300" alt="fancy image" />
<img src="//placehold.it/300x300" alt="fancy image" />
<img src="//placehold.it/300x300" alt="fancy image" />
</div>
<button class="custom-next-button">
<i class="material-icons">keyboard_arrow_right</i>
</button>
import { SnapSlider } from 'snap-slider';
import 'snap-slider/src/snap-slider.css';
const { $track } = new SnapSlider({
$slider: document.querySelector('#your-slider'),
$buttonPrev: document.querySelector('.custom-previous-button'), // Optional
$buttonNext: document.querySelector('.custom-next-button'), // Optional
scrollRatio: 0.5, // Optional
});
// $track is an HTMLElement, so you have access to all the standard JS methods and properties
// Examples:
// Append
$track.append(document.querySelector('.new-slide')); // Single slide
$track.append(...document.querySelectorAll('.more-slides')); // Multiple slides
// Prepend
$track.prepend(document.querySelector('.new-slide')); // Single slide
$track.prepend(...document.querySelectorAll('.more-slides')); // 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.
FAQs
Lightweight, easily customizable slider
We found that snap-slider demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

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.

Product
Socket Firewall Enterprise is now available with flexible deployment, configurable policies, and expanded language support.

Security News
Open source dashboard CNAPulse tracks CVE Numbering Authorities’ publishing activity, highlighting trends and transparency across the CVE ecosystem.

Product
Detect malware, unsafe data flows, and license issues in GitHub Actions with Socket’s new workflow scanning support.