Swiper

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'
    }
  ]
}

Leave a Reply

Your email address will not be published. Required fields are marked *

Back to top button