All Projects → zoltantothcom → vanilla-js-carousel

zoltantothcom / vanilla-js-carousel

Licence: Unlicense license
Tiny (1Kb gzipped) JavaScript carousel with all the features most of us will ever need.

Programming Languages

javascript
184084 projects - #8 most used programming language
Less
1899 projects
Pug
443 projects

Projects that are alternatives of or similar to vanilla-js-carousel

Splide
Splide is a lightweight, powerful and flexible slider and carousel, written in pure JavaScript without any dependencies.
Stars: ✭ 786 (+803.45%)
Mutual labels:  slider, carousel, vanilla-javascript
angular-simple-slider
An AngularJS directive providing a simple slider functionality
Stars: ✭ 15 (-82.76%)
Mutual labels:  slider, carousel
vue3-carousel
Vue 3 carousel component
Stars: ✭ 379 (+335.63%)
Mutual labels:  slider, carousel
scroll-snap-carousel
One more carousel plugin, but using CSS Scroll Snap and for every frameworks!
Stars: ✭ 46 (-47.13%)
Mutual labels:  slider, carousel
vue-splide
The Splide component for Vue.
Stars: ✭ 257 (+195.4%)
Mutual labels:  slider, carousel
MediaSliderView
Pure java based, highly customizable media slider gallery supporting both images and videos for android.
Stars: ✭ 85 (-2.3%)
Mutual labels:  slider, carousel
SimpleSlider
Simple responsive slider created in pure javascript.
Stars: ✭ 21 (-75.86%)
Mutual labels:  slider, carousel
React Native Swiper Flatlist
👆 Swiper component implemented with FlatList using Hooks & Typescript + strict automation tests with Detox
Stars: ✭ 217 (+149.43%)
Mutual labels:  slider, carousel
pinar
🌲☀️ Customizable, lightweight React Native carousel component with accessibility support.
Stars: ✭ 214 (+145.98%)
Mutual labels:  slider, carousel
svelte-slidy
📸 Sliding action script
Stars: ✭ 211 (+142.53%)
Mutual labels:  slider, carousel
skeleton-carousel
Carousel component. Horizontal and vertical swipe navigation
Stars: ✭ 31 (-64.37%)
Mutual labels:  slider, carousel
Keen Slider
The HTML touch slider carousel with the most native feeling
Stars: ✭ 3,097 (+3459.77%)
Mutual labels:  slider, carousel
React Flickity Component
A React.js component for using @desandro's Flickity
Stars: ✭ 232 (+166.67%)
Mutual labels:  slider, carousel
react-instagram-zoom-slider
🌄↔️ A slider component with pinch to zoom capabilities inspired by Instagram
Stars: ✭ 67 (-22.99%)
Mutual labels:  slider, carousel
Vue Glide
A slider and carousel as vue component on top of the Glide.js
Stars: ✭ 225 (+158.62%)
Mutual labels:  slider, carousel
vue-barousel
Carousel component mimics NetEase Cloud Music
Stars: ✭ 13 (-85.06%)
Mutual labels:  slider, carousel
react-carousel-minimal
React.js Responsive Minimal Carousel
Stars: ✭ 76 (-12.64%)
Mutual labels:  slider, carousel
Svelte Carousel
A super lightweight, super simple Carousel for Svelte 3
Stars: ✭ 144 (+65.52%)
Mutual labels:  slider, carousel
Slider
Touch swipe image slider/slideshow/gallery/carousel/banner mobile responsive bootstrap
Stars: ✭ 2,046 (+2251.72%)
Mutual labels:  slider, carousel
cachu-slider
🌈 🔆 Create animated full screen and content-fit sliders efficiently.
Stars: ✭ 30 (-65.52%)
Mutual labels:  slider, vanilla-javascript

Vanilla JavaScript Carousel

Build Status Coverage Status Dependencies

Tiny (1Kb gzipped) JavaScript carousel with all the features most of us will ever need.

Vanilla JavaScript Carousel

— Inspired by the blazing fast, lightweight, cross-platform and crazy popular Vanilla JS framework.

Demo

CAROUSEL

Installation

  1. Via NPM:

    npm install --save vanilla-js-carousel

    or in case you love shortcuts:

    npm i --S vanilla-js-carousel
  2. Old school:

    <script src="dist/vanilla-js-carousel.min.js"></script>

Usage

  1. Include the CSS and feel free to edit it or write your own:

    <link rel="stylesheet" href="dist/vanilla-js-carousel.css" />
  2. Write some markup:

    <div class="js-Carousel" id="carousel">
        <ul>
            <li><img src="image-1.jpg" alt=""></li>
            <li><img src="image-2.jpg" alt=""></li>
            <li><img src="image-3.jpg" alt=""></li>
        </ul>
    </div>
  3. If you installed via NPM:

    const Carousel = require("vanilla-js-carousel");
  4. Initialize the carousel:

    var carousel = new Carousel({
        elem: 'carousel',    // id of the carousel container
        autoplay: false,     // starts the rotation automatically
        infinite: true,      // enables the infinite mode
        interval: 1500,      // interval between slide changes
        initial: 0,          // slide to start with
        dots: true,          // show navigation dots
        arrows: true,        // show navigation arrows
        buttons: false,      // hide play/stop buttons,
        btnStopText: 'Pause' // STOP button text
    });
    
    // Show slide number 3 (Numeration of slides starts at 0)
    carousel.show(2);
    
    // Move to the next slide
    carousel.next();

Options

Settings

Option Type Default Description
elem string carousel The id of the carousel container in the HTML markup
interval int 3000 Auto play interval in milliseconds
initial int 0 Index of the slide to start on
autoplay boolean false Enables auto play of slides
infinite boolean false Enables infinite mode
dots boolean true Display navigation dots
arrows boolean true Display navigation arrows (<prev>/<next>)
buttons boolean true Display navigation buttons (<stop>/<play>)

Button titles

Option Type Default Description
btnPlayText string Play Text for <play> button
btnStopText string Stop Text for <stop> button
arrPrevText string &lsaquo; Text for <prev> arrow
arrNextText string &rsaquo; Text for <next> arrow

Methods

Method Argument Description
.show(index) index: int Moves the carousel to slide by index
.live() Returns the current slide's index
.prev() Triggers previous slide
.next() Triggers next slide
.play() Starts the autoplay
.stop() Stops the autoplay

Running the tests

npm test

Browser support and dependencies

Browser Support Dependencies
Chrome yes -
Firefox yes -
Safari yes -
Opera yes -
IE yes* Polyfill for .classList in IE9

* IE9 and up

Versioning

This project uses SemVer for versioning. For the versions available, see the tags on this repository.

License

Anyone is free to copy, modify, publish, use, compile, sell, or distribute this software, either in source code form or as a compiled binary, for any purpose, commercial or non-commercial, and by any means.

See Unlicense for full details.

Related

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].