Getting Started With Swiper
Download and Install Swiper
First of all we need to download required Swiper files:
We can download them from Swiper GitHub repository
Or we can install them via Bower, enter in terminal:
$ bower install swiper
Or, using Atmosphere as Meteor package:
$ meteor add nolimits4web:swiper
Or, using NPM
$ npm install swiper
In the downloaded/installed package we need files from the dist/
folder.
Use Swiper from CDN
If you don’t want to include Swiper files in your project, you may use it from Swiper on cdnjs. The following files are available:
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/Swiper/4.x.x/css/swiper.css">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/Swiper/4.x.x/css/swiper.min.css">
<script src="https://cdnjs.cloudflare.com/ajax/libs/Swiper/4.x.x/js/swiper.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/Swiper/4.x.x/js/swiper.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/Swiper/4.x.x/js/swiper.esm.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/Swiper/4.x.x/js/swiper.esm.bundle.js"></script>
Don’t forget to change 4.x.x to actual Swiper version
Include Swiper Files To Website/App
After that we need to include Swiper’s CSS and JS files to our website/app. In your html file:
<!DOCTYPE html>
<html lang="en">
<head>
...
<link rel="stylesheet" href="path/to/swiper.min.css">
</head>
<body>
...
<script src="path/to/swiper.min.js"></script>
</body>
</html>
Add Swiper HTML Layout
Now, we need to add basic Swiper layout to our app:
<!-- Slider main container -->
<div class="swiper-container">
<!-- Additional required wrapper -->
<div class="swiper-wrapper">
<!-- Slides -->
<div class="swiper-slide">Slide 1</div>
<div class="swiper-slide">Slide 2</div>
<div class="swiper-slide">Slide 3</div>
...
</div>
<!-- If we need pagination -->
<div class="swiper-pagination"></div>
<!-- If we need navigation buttons -->
<div class="swiper-button-prev"></div>
<div class="swiper-button-next"></div>
<!-- If we need scrollbar -->
<div class="swiper-scrollbar"></div>
</div>
Swiper CSS Styles/Size
After that, we may need to set Swiper size in your CSS file:
.swiper-container {
width: 600px;
height: 300px;
}
Initialize Swiper
Finally, we need to initialize Swiper in JS. There are few options/places to do that:
The best option will be in inline script or in script file that is included in the very end of body (right before closing </body>
tag):
<body>
...
<script>
var mySwiper = new Swiper ('.swiper-container', {
// Optional parameters
direction: 'vertical',
loop: true,
// If we need pagination
pagination: {
el: '.swiper-pagination',
},
// Navigation arrows
navigation: {
nextEl: '.swiper-button-next',
prevEl: '.swiper-button-prev',
},
// And if we need scrollbar
scrollbar: {
el: '.swiper-scrollbar',
},
})
</script>
</body>
If you use jQuery/Zepto in your site, then you can initialize it in any of your JS files, but make sure that you do it within document.ready
event:
$(document).ready(function () {
//initialize swiper when document ready
var mySwiper = new Swiper ('.swiper-container', {
// Optional parameters
direction: 'vertical',
loop: true
})
});
Otherwise (but not recommended), you can initialize it within window.onload event:
window.onload = function () {
//initialize swiper when document ready
var mySwiper = new Swiper ('.swiper-container', {
// Optional parameters
direction: 'vertical',
loop: true
})
};
As a CommonJs module
Swiper is fully compatible with CommonJs modules and can be used in Node.js-like environment:
var Swiper = require('swiper');
var mySwiper = new Swiper('.swiper-container', { /* ... */ });
As an ES module
Swiper package comes with ES module version which can be used where supported or with bundlers like Webpack or Rollup:
import Swiper from 'swiper';
var mySwiper = new Swiper('.swiper-container', { /* ... */ });
In case you use it as an ES module make sure:
- you have enabled Babel or Buble to transpile it to ES5 syntax,
- you have enabled node modules resolving for Swiper as it uses Dom7 and ssr-window packages as dependencies.
Example of Webpack cofiguration for babel-loader
with Swiper and Dom7:
module: {
rules: [
{
test: /\.js$/, // Check for all js files
exclude: /node_modules\/(?!(dom7|ssr-window|swiper)\/).*/,
loader: 'babel-loader'
}
]
}