Simple ImageSlider Component for ReactJS v17
- Just Two Elements will be used. (for display images)
- Support GPU Render, by default.
- Support Image Preload.
- Support SSR. ( server-side-rendering )
- Selectable Navigation Styles.
// npm
npm install react-simple-image-slider --save
// yarn
yarn add react-simple-image-slider
import SimpleImageSlider from "react-simple-image-slider";
const images = [
{ url: "images/1.jpg" },
{ url: "images/2.jpg" },
{ url: "images/3.jpg" },
{ url: "images/4.jpg" },
{ url: "images/5.jpg" },
{ url: "images/6.jpg" },
{ url: "images/7.jpg" },
];
const App = () => {
return (
<div>
<SimpleImageSlider
width={896}
height={504}
images={images}
showBullets={true}
showNavs={true}
/>
</div>
);
}
If You want to see more detail source,
| Name | Type | Required | Description | Default |
|---|---|---|---|---|
| width | Number |
Required |
Image Slider Width | |
| height | Number |
Required |
Image Slider Height | |
| images | Array |
Required |
Images, Array Elements should be like this structure, { url: "" } or string[] |
|
| style | String |
Optional |
css object | |
| slideDuration | Number |
Optional |
css transition-duration property | 0.5 |
| navStyle | Number |
Optional |
Arrow Navgation Style, 1 or 2 |
1 |
| navSize | Number |
Optional |
Arrow Size | 50 |
| navMargin | Number |
Optional |
Arrow Margin | 30 |
| showNavs | Boolean |
Required |
Toggle Arrow | |
| startIndex | Number |
Optional |
start Index of Slide | 0 |
| showBullets | Boolean |
Required |
Toggle Bullets | true |
| loop | Boolean |
Optional |
looping slider | true |
| autoPlay | Boolean |
Optional |
auto play | false |
| autoPlayDelay | Boolean |
Optional |
auto play delay | 2.0 |
| useGPURender | Boolean |
Optional |
Toggle GPU Render | true |
| bgColor | String |
Optional |
slider container's css background-color property | #000000 |
| onClick | Function |
Optional |
Image Click Callback function,onClick = (idx, event) => { }idx : number : clicked bullet index (begin from 0) |
|
| onClickNav | Function |
Optional |
Arrow Navigation Callback function,onClickNav = (toRight) => { }toRight : Boolean : slide direction |
|
| onClickBullets | Function |
Optional |
Bullets Callback function,onClickBullets = (idx) => { }idx : Number : clicked bullet index (begin from 0) |
|
| onStartSlide | Function |
Optional |
Slide Transition Start function,onStartSlide = (idx, length) => { }idx : Number : start index (begin from 1) length : Number : image length |
|
| onCompleteSlide | Function |
Optional |
Slide TransitionEnd Callback function,onCompleteSlide = (idx, length) => { }idx : Number : start index (begin from 1) length : Number : image length |
If You want to see more detail,
- can customize by className with
!important;
.your-app {
.rsis-container {
// do something
}
}
.your-app {
.rsis-image {
background-size: contain !important;
}
}
./example/: demo site souce for testing component./src/: image slider component source./dist/: image slider component distribution./babelrc: babel configure. (version 7.x)./webpack.config.js: webpack configure. (version 4.x)./rollup.config.js: rollup configure.
// npm
npm run example // run a test app(demo) by webpack dev server
npm run build // build the image slider component by rollup
npm run dev // build watch mode
// yarn
yarn example
yarn build
yarn dev
If you want to run a test app, should build before do that.
After run example by webpack dev server,
open http://localhost:8080/ in a browser
MIT
