Skip to content

kimcoder/react-simple-image-slider

Repository files navigation

react-simple-image-slider

ReactJs Download Count GitHub license

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.

Live demo

Install

// npm
npm install react-simple-image-slider --save

// yarn
yarn add react-simple-image-slider

Usage

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,

Props

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,

Style customize

  • can customize by className with !important;
.your-app {
  .rsis-container {
    // do something
  }
}

.your-app {
  .rsis-image {
    background-size: contain !important;
  }
}

Development

directory & source

  • ./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.

scripts

// 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

License

MIT