Fast JS Carousel : ExS Carousel - Extra Small and fast JavaScript Carousel
It has a very small size: 2kB of JavaScript and 1kB of CSS.
Main Features
1kb of CSS code and 2kb of JavaScript code (minified version)
Working with Mouse and Touch events
Auto rewind
Custom or default CSS selector supported
Optional dots navigation auto added by script - no need to manually add your dot buttons in your HTML markup
Optional arrows navigation auto added by script - no need to manually add your arrow buttons in your HTML markup
Auto init with appropriate class attribute values from the HTML code or manually initialized with the config from the JavaScript code.
Quick Start
Inlucde your assets:
<link rel="stylesheet" href="dist/css/exs-carousel.css">
<script src="dist/js/exs-carousel.js"></script>
Basic example with auto init:
Sometimes you have a control on your HTML markup but have no control on your JavaScript code. Auto initialization feature will be very useful in this situation.
Carousel HTML Markup
<div class="exs-carousel autoinit autoplay dots arrows">
<div>
<img src="demo/img/carousel1.jpg">
</div>
<div>
<img src="demo/img/carousel2.jpg">
</div>
<div>
<img src="demo/img/carousel3.jpg">
</div>
</div>
Class attribute values
autoinit
Add 'autoinit' class to your '.exs-carousel' element for automatic initialization without writting any line of additional JS code.
autoplay
Add 'autoplay' class for your '.exs-carousel' element to enable auto slide. Default interval is 5 seconds.
dots
Add 'dots' class for your '.exs-carousel' element to auto create your dots carousel navigation.
arrows
Add 'arrows' class for your '.exs-carousel' element to auto create your arrows carousel navigation.
Manual initialization from the JavaScript code with config a object
In the opposite of the example above you can have some cusotm HTML markup that you cannot control. You can use JavaScript initialization in this case.
Custom element with init in the JavaScript code
Slide 1
Slide 2
Slide 3
Slide 4
Slide 5
Custom carousel HTML markup
<div class="custom-carousel-class">
<div class="example-slide">
Slide 1
</div>
<div class="example-slide">
Slide 2
</div>
<div class="example-slide">
Slide 3
</div>
</div>
JavaScript initialization code
<script>
exsCarousel({
selector:'.custom-carousel-class',
dots:true,
arrows:true,
autoplay:true,
interval:3000
});
</script>
JavaScript initialization object properties are very similar to CSS class values:
selector
Custom CSS selector for your carousel HTML element.
autoplay
Add 'autoplay' object property to enable automatic carousel sliding. (true or false, default - false).
dots
Add 'dots' object property to add a dots navigation for your carousel. (true or false, default - false).
arrows
Add 'arrows' object property to add a arrows navigation for your carousel. (true or false, default - false).
interval
Custom interval if you're using autoplay option. Default is 5000 milliseconds (5 seconds).
Changing default interval:
From the HTML code
Add data-interval="3000"
custom HTML attribute. autoplay
class can be omitted in this case.
<div class="exs-carousel autoinit dots arrows" data-interval="6000">
From the JavaScript code
Add interval
object property to your initialization object when calling the exsCarousel
function. Value should be a number of milliseconds.
<script>
exsCarousel({
...
interval:3000,
...
});
</script>
Limitations
Images should be same height for the better UX.
Only one slide is visible (no columns) at the moment.
Arrows and dots cannot be moved outside of slides.
Development
Clone repository.
Open your repository directory into your terminal.
Run npm i
command.
To start your dev server run gulp
command.
Make changes into your dist directory.
To build your project run gulp build
command.
Copyright and license
Copyright 2020–2022 the ExS WordPress Theme . Code released under the MIT License
Demo images
Copyright pxhere.com :