What is @splidejs/splide?
@splidejs/splide is a lightweight, flexible, and powerful JavaScript slider and carousel library. It provides a wide range of features to create responsive, touch-friendly, and customizable sliders and carousels for web applications.
What are @splidejs/splide's main functionalities?
Basic Slider
This code initializes a basic slider using the Splide library. The '.splide' selector targets the HTML element that will contain the slider, and the 'mount()' method sets up the slider.
const splide = new Splide('.splide');
splide.mount();
Autoplay
This code initializes a slider with autoplay functionality. The 'type' option is set to 'loop' to create an infinite loop of slides, and 'autoplay' is set to true to enable automatic sliding.
const splide = new Splide('.splide', {
type : 'loop',
autoplay: true,
});
splide.mount();
Custom Pagination
This code demonstrates how to create a custom pagination for the slider. The 'pagination' option is set to false to disable the default pagination, and a custom pagination element is created and mounted using the 'pagination:mounted' event.
const splide = new Splide('.splide', {
pagination: false,
});
splide.mount();
const pagination = document.createElement('ul');
pagination.className = 'splide__pagination';
splide.on('pagination:mounted', function (data) {
data.list = pagination;
});
Responsive Breakpoints
This code configures the slider to be responsive to different screen sizes. The 'breakpoints' option allows you to specify different settings for different screen widths. In this example, the slider will show 1 slide per page on screens smaller than 640px and 2 slides per page on screens smaller than 1024px.
const splide = new Splide('.splide', {
breakpoints: {
640: {
perPage: 1,
},
1024: {
perPage: 2,
},
},
});
splide.mount();
Other packages similar to @splidejs/splide
swiper
Swiper is a modern touch slider that is highly customizable and supports a wide range of features including vertical sliders, nested sliders, and parallax effects. It is similar to @splidejs/splide in terms of flexibility and ease of use, but it offers more advanced features and a larger community.
slick-carousel
Slick Carousel is a popular and widely used carousel library that offers a variety of features such as lazy loading, autoplay, and responsive breakpoints. It is similar to @splidejs/splide in terms of functionality, but it has a larger user base and more extensive documentation.
owl.carousel
Owl Carousel is a touch-enabled jQuery plugin that allows you to create responsive and customizable carousels. It is similar to @splidejs/splide in terms of providing a wide range of customization options, but it requires jQuery as a dependency.
Notice
I'm working on updating v2 -> v3. The website can be unstable today.
Features
- Written in TypeScript
- No dependencies
- Lightweight, less than 26kB (11kB gzipped)
- Flexible and extensible
- Protected by 300+ test cases
- Multiple slides
- Slide or fade transition by CSS
- Supports breakpoints
- Accepts CSS relative units
- No need to crop images
- Autoplay with progress bar and play/pause buttons
- RTL and vertical direction
- Mouse drag and touch swipe
- Free drag mode
- Mouse wheel navigation
- Nested slider
- Lazy loading
- Thumbnail slider
- Auto width and height
- Accessibility friendly
- Internet Explorer 10
License
Splide is released under MIT license. © 2021 Naotoshi Fujita