infinite-react-carousel
Infinite carousel for react.
Installation
npm
npm install infinite-react-carousel --save
yarn
yarn add infinite-react-carousel
Example
import React from 'react';
import Slider from 'infinite-react-carousel';
const SimpleSlider = () => (
<Slider dots>
<div>
<h3>1</h3>
</div>
<div>
<h3>2</h3>
</div>
<div>
<h3>3</h3>
</div>
<div>
<h3>4</h3>
</div>
<div>
<h3>5</h3>
</div>
</Slider>
);
Props
Prop | Description | Default | Type |
---|---|---|---|
rows | Number of rows per slide in the slider, (enables grid mode) | 1 | Number |
slidesPerRow | Number of slides to display in grid mode, this is useful with rows option | 1 | Number |
slidesToShow | How many slides to show in one frame | 1 | Number |
className | "" | String | |
centerMode | Center current slide | false | Boolean |
swipe | Enable/disable swiping to change slides | true | Boolean |
adaptiveHeight | Adjust the slide's height automatically | false | Boolean |
centerPadding | 50 | String, Number | |
initialSlide | Index of first slide | false | Boolean, Number |
pauseOnHover | Prevents autoplay while hovering on track | true | Boolean |
autoplay | Enable/disable slider autoplay | false | Boolean |
autoplayScroll | How many slides to scroll when autoplay is true | 1 | Number |
autoplaySpeed | Delay between each auto scroll (in milliseconds) | 3000 | Number |
beforeChange | Before Index change callback. (oldIndex, newIndex) => ... |
null | Function |
afterChange | Index change callback. index => ... |
null | Function |
duration | Transition duration in milliseconds | 200 | Number |
shift | Set the spacing of the center item | 0 | Number |
arrows | Enable/disable arrow button | true | Boolean |
arrowsBlock | true | Boolean | |
arrowsScroll | How many slides to scroll when click arrows button | 1 | Number |
prevArrow | Custom prev arrows button | null | Element |
nextArrow | Custom next arrows button | null | Element |
dots | Enable/disable dots | false | Boolean |
dotsClass | CSS class for dots | "carousel-dots" | String |
dotsScroll | How many slides to scroll on one page | 1 | Number |
appendDots | Custom dots templates. Works same as customPaging | (dots) => <ul style={{ display: 'block' }}>{dots}</ul> |
Function |
customPaging | Custom paging templates | (i) => <button type="button">{i + 1}</button> |
Function |
onReszie | detect carousel resize | (e) => {} |
Function |
onSwipe | Callback after slide changes by swiping | (direction) => {} |
Function |
accessibility | Enable tabbing and arrow key navigation | true | Boolean |
wheel | Enable mouse wheel to slide item | false | Boolean |
wheelScroll | How many slides to scroll when wheel trigger | 1 | Number |
Methods
Name | Description |
---|---|
slickNext | Go to the next slide |
slickPrev | Go to the previous slide |
slickGoTo | Go to any slide |
slickPause | Pause the autoplay |
slickPlay | Start the autoplay |
Development
Want to run demos locally
git clone https://github.com/g787543/infinite-react-carousel.git
cd infinite-react-carousel
npm
npm install
npm run dev
yarn
yarn
yarn dev
open http://localhost:8080