Swiper
Most modern mobile touch slider with hardware accelerated transitions.
Official Documentation
Usage
CSS
In order to use this plugin on your page you will need to include the following styles in the Page CSS area from the page’s head section:
<link rel= "stylesheet" href= "../../assets/libs/swiper/dist/css/swiper.min.css" >
JS
In order to use this plugin on your page you will need to include the following script in the “Page JS” area from the page’s footer:
<script src= "../../assets/libs/swiper/dist/js/swiper.min.js" ></script>
Initialization
Now, we need to add basic Swiper layout to our app:
Placeholder
600x600
Placeholder
600x600
Placeholder
600x600
Placeholder
600x600
Placeholder
600x600
Placeholder
600x600
<div class= "swiper-js-container" >
<div class= "swiper-container" data-swiper-items= "1" data-swiper-space-between= "20" data-swiper-sm-items= "2" data-swiper-sm-space-between= "20" data-swiper-xl-items= "3" data-swiper-xl-space-between= "20" >
<div class= "swiper-wrapper" >
<div class= "swiper-slide" >
<svg class= "bd-placeholder-img card-img-top" width= "600" height= "600" xmlns= "http://www.w3.org/2000/svg" preserveAspectRatio= "xMidYMid slice" focusable= "false" role= "img" aria-label= "Placeholder: 600x600" ><title> Placeholder</title><rect fill= "" width= "100%" height= "100%" /><text fill= "" dy= ".3em" x= "50%" y= "50%" > 600x600</text></svg>
</div>
<div class= "swiper-slide" >
<svg class= "bd-placeholder-img card-img-top" width= "600" height= "600" xmlns= "http://www.w3.org/2000/svg" preserveAspectRatio= "xMidYMid slice" focusable= "false" role= "img" aria-label= "Placeholder: 600x600" ><title> Placeholder</title><rect fill= "" width= "100%" height= "100%" /><text fill= "" dy= ".3em" x= "50%" y= "50%" > 600x600</text></svg>
</div>
<div class= "swiper-slide" >
<svg class= "bd-placeholder-img card-img-top" width= "600" height= "600" xmlns= "http://www.w3.org/2000/svg" preserveAspectRatio= "xMidYMid slice" focusable= "false" role= "img" aria-label= "Placeholder: 600x600" ><title> Placeholder</title><rect fill= "" width= "100%" height= "100%" /><text fill= "" dy= ".3em" x= "50%" y= "50%" > 600x600</text></svg>
</div>
<div class= "swiper-slide" >
<svg class= "bd-placeholder-img card-img-top" width= "600" height= "600" xmlns= "http://www.w3.org/2000/svg" preserveAspectRatio= "xMidYMid slice" focusable= "false" role= "img" aria-label= "Placeholder: 600x600" ><title> Placeholder</title><rect fill= "" width= "100%" height= "100%" /><text fill= "" dy= ".3em" x= "50%" y= "50%" > 600x600</text></svg>
</div>
<div class= "swiper-slide" >
<svg class= "bd-placeholder-img card-img-top" width= "600" height= "600" xmlns= "http://www.w3.org/2000/svg" preserveAspectRatio= "xMidYMid slice" focusable= "false" role= "img" aria-label= "Placeholder: 600x600" ><title> Placeholder</title><rect fill= "" width= "100%" height= "100%" /><text fill= "" dy= ".3em" x= "50%" y= "50%" > 600x600</text></svg>
</div>
<div class= "swiper-slide" >
<svg class= "bd-placeholder-img card-img-top" width= "600" height= "600" xmlns= "http://www.w3.org/2000/svg" preserveAspectRatio= "xMidYMid slice" focusable= "false" role= "img" aria-label= "Placeholder: 600x600" ><title> Placeholder</title><rect fill= "" width= "100%" height= "100%" /><text fill= "" dy= ".3em" x= "50%" y= "50%" > 600x600</text></svg>
</div>
</div>
</div>
</div>
Options
Here is a list with the data-swiper-*
attributes you can use in order to configure the swiper element without the need to modify any JavaScript file. Simply add the data-swiper-PARAMETER_NAME
attribute on the .swiper-container
div, where PARAMETER_NAME
is one of the options listed in the table below (e.g data-swiper-items="3"
).
Parameter
Type
Default
Description
direction
string
horizontal
Could be ‘horizontal’ or ‘vertical’ (for vertical slider).
items
number
or "auto"
1
Number of slides per view (slides visible at the same time on slider’s container). You can set different values for each existing breakpoint by adding: sm
, md
, lg
and xl
before the items
parameter (e.g: data-swiper-sm-items="2"
).
space-between
number
0
Distance between slides in px. You can set different values for each existing breakpoint by adding: sm
, md
, lg
and xl
before the items
parameter (e.g: data-swiper-sm-space-between="20"
).
initial-slide
number
0
Index number of initial slide.).
centered-slides
boolean
false
If true, then active slide will be centered, not always on the left side.
autoplay
boolean
false
Object with autoplay parameters or boolean true to enable with default settings.
autoheight
boolean
false
Set to true and slider wrapper will adopt its height to the height of the currently active slide.
effect
string
slide
Tranisition effect. Could be “slide”, “fade”, “cube”, “coverflow” or “flip”.
paginationtype
string
bullets
String with type of pagination. Can be “bullets”, “fraction”, “progressbar” or “custom”.
Examples
By default, Purpose comes with a few pre-defined Swiper styles and can be easily configured through some data-*
attributes that will allow you to customize the items per slide, effect type, spacing and more.
Navigation
Placeholder
600x600
Placeholder
600x600
Placeholder
600x600
Placeholder
600x600
Placeholder
600x600
Placeholder
600x600
<div class= "swiper-js-container" >
<div class= "swiper-container" data-swiper-items= "1" data-swiper-sm-items= "2" data-swiper-xl-items= "3" data-swiper-space-between= "20" data-swiper-sm-space-between= "20" data-swiper-xl-space-between= "20" >
<div class= "swiper-wrapper" >
<div class= "swiper-slide" >
<svg class= "bd-placeholder-img card-img-top" width= "600" height= "600" xmlns= "http://www.w3.org/2000/svg" preserveAspectRatio= "xMidYMid slice" focusable= "false" role= "img" aria-label= "Placeholder: 600x600" ><title> Placeholder</title><rect fill= "" width= "100%" height= "100%" /><text fill= "" dy= ".3em" x= "50%" y= "50%" > 600x600</text></svg>
</div>
<div class= "swiper-slide" >
<svg class= "bd-placeholder-img card-img-top" width= "600" height= "600" xmlns= "http://www.w3.org/2000/svg" preserveAspectRatio= "xMidYMid slice" focusable= "false" role= "img" aria-label= "Placeholder: 600x600" ><title> Placeholder</title><rect fill= "" width= "100%" height= "100%" /><text fill= "" dy= ".3em" x= "50%" y= "50%" > 600x600</text></svg>
</div>
<div class= "swiper-slide" >
<svg class= "bd-placeholder-img card-img-top" width= "600" height= "600" xmlns= "http://www.w3.org/2000/svg" preserveAspectRatio= "xMidYMid slice" focusable= "false" role= "img" aria-label= "Placeholder: 600x600" ><title> Placeholder</title><rect fill= "" width= "100%" height= "100%" /><text fill= "" dy= ".3em" x= "50%" y= "50%" > 600x600</text></svg>
</div>
<div class= "swiper-slide" >
<svg class= "bd-placeholder-img card-img-top" width= "600" height= "600" xmlns= "http://www.w3.org/2000/svg" preserveAspectRatio= "xMidYMid slice" focusable= "false" role= "img" aria-label= "Placeholder: 600x600" ><title> Placeholder</title><rect fill= "" width= "100%" height= "100%" /><text fill= "" dy= ".3em" x= "50%" y= "50%" > 600x600</text></svg>
</div>
<div class= "swiper-slide" >
<svg class= "bd-placeholder-img card-img-top" width= "600" height= "600" xmlns= "http://www.w3.org/2000/svg" preserveAspectRatio= "xMidYMid slice" focusable= "false" role= "img" aria-label= "Placeholder: 600x600" ><title> Placeholder</title><rect fill= "" width= "100%" height= "100%" /><text fill= "" dy= ".3em" x= "50%" y= "50%" > 600x600</text></svg>
</div>
<div class= "swiper-slide" >
<svg class= "bd-placeholder-img card-img-top" width= "600" height= "600" xmlns= "http://www.w3.org/2000/svg" preserveAspectRatio= "xMidYMid slice" focusable= "false" role= "img" aria-label= "Placeholder: 600x600" ><title> Placeholder</title><rect fill= "" width= "100%" height= "100%" /><text fill= "" dy= ".3em" x= "50%" y= "50%" > 600x600</text></svg>
</div>
</div>
<!-- Add Arrows -->
<div class= "swiper-button-next" ></div>
<div class= "swiper-button-prev" ></div>
</div>
</div>
Progress bar
Placeholder
600x600
Placeholder
600x600
Placeholder
600x600
Placeholder
600x600
Placeholder
600x600
Placeholder
600x600
<div class= "swiper-js-container" >
<div class= "swiper-container" data-swiper-items= "1" data-swiper-sm-items= "2" data-swiper-xl-items= "3" data-swiper-space-between= "20" data-swiper-sm-space-between= "20" data-swiper-xl-space-between= "20" data-swiper-pagination-type= "progressbar" >
<div class= "swiper-wrapper" >
<div class= "swiper-slide" >
<svg class= "bd-placeholder-img card-img-top" width= "600" height= "600" xmlns= "http://www.w3.org/2000/svg" preserveAspectRatio= "xMidYMid slice" focusable= "false" role= "img" aria-label= "Placeholder: 600x600" ><title> Placeholder</title><rect fill= "" width= "100%" height= "100%" /><text fill= "" dy= ".3em" x= "50%" y= "50%" > 600x600</text></svg>
</div>
<div class= "swiper-slide" >
<svg class= "bd-placeholder-img card-img-top" width= "600" height= "600" xmlns= "http://www.w3.org/2000/svg" preserveAspectRatio= "xMidYMid slice" focusable= "false" role= "img" aria-label= "Placeholder: 600x600" ><title> Placeholder</title><rect fill= "" width= "100%" height= "100%" /><text fill= "" dy= ".3em" x= "50%" y= "50%" > 600x600</text></svg>
</div>
<div class= "swiper-slide" >
<svg class= "bd-placeholder-img card-img-top" width= "600" height= "600" xmlns= "http://www.w3.org/2000/svg" preserveAspectRatio= "xMidYMid slice" focusable= "false" role= "img" aria-label= "Placeholder: 600x600" ><title> Placeholder</title><rect fill= "" width= "100%" height= "100%" /><text fill= "" dy= ".3em" x= "50%" y= "50%" > 600x600</text></svg>
</div>
<div class= "swiper-slide" >
<svg class= "bd-placeholder-img card-img-top" width= "600" height= "600" xmlns= "http://www.w3.org/2000/svg" preserveAspectRatio= "xMidYMid slice" focusable= "false" role= "img" aria-label= "Placeholder: 600x600" ><title> Placeholder</title><rect fill= "" width= "100%" height= "100%" /><text fill= "" dy= ".3em" x= "50%" y= "50%" > 600x600</text></svg>
</div>
<div class= "swiper-slide" >
<svg class= "bd-placeholder-img card-img-top" width= "600" height= "600" xmlns= "http://www.w3.org/2000/svg" preserveAspectRatio= "xMidYMid slice" focusable= "false" role= "img" aria-label= "Placeholder: 600x600" ><title> Placeholder</title><rect fill= "" width= "100%" height= "100%" /><text fill= "" dy= ".3em" x= "50%" y= "50%" > 600x600</text></svg>
</div>
<div class= "swiper-slide" >
<svg class= "bd-placeholder-img card-img-top" width= "600" height= "600" xmlns= "http://www.w3.org/2000/svg" preserveAspectRatio= "xMidYMid slice" focusable= "false" role= "img" aria-label= "Placeholder: 600x600" ><title> Placeholder</title><rect fill= "" width= "100%" height= "100%" /><text fill= "" dy= ".3em" x= "50%" y= "50%" > 600x600</text></svg>
</div>
</div>
<!-- Add Pagination -->
<div class= "swiper-pagination" ></div>
<!-- Add Arrows -->
<div class= "swiper-button-next" ></div>
<div class= "swiper-button-prev" ></div>
</div>
</div>
Centered slides
Placeholder
600x600
Placeholder
600x600
Placeholder
600x600
Placeholder
600x600
Placeholder
600x600
Placeholder
600x600
<div class= "swiper-js-container" >
<div class= "swiper-container" data-swiper-items= "1" data-swiper-sm-items= "2" data-swiper-xl-items= "3" data-swiper-space-between= "20" data-swiper-sm-space-between= "20" data-swiper-xl-space-between= "20" data-swiper-centered-slides= "true" >
<div class= "swiper-wrapper" >
<div class= "swiper-slide" >
<svg class= "bd-placeholder-img card-img-top" width= "600" height= "600" xmlns= "http://www.w3.org/2000/svg" preserveAspectRatio= "xMidYMid slice" focusable= "false" role= "img" aria-label= "Placeholder: 600x600" ><title> Placeholder</title><rect fill= "" width= "100%" height= "100%" /><text fill= "" dy= ".3em" x= "50%" y= "50%" > 600x600</text></svg>
</div>
<div class= "swiper-slide" >
<svg class= "bd-placeholder-img card-img-top" width= "600" height= "600" xmlns= "http://www.w3.org/2000/svg" preserveAspectRatio= "xMidYMid slice" focusable= "false" role= "img" aria-label= "Placeholder: 600x600" ><title> Placeholder</title><rect fill= "" width= "100%" height= "100%" /><text fill= "" dy= ".3em" x= "50%" y= "50%" > 600x600</text></svg>
</div>
<div class= "swiper-slide" >
<svg class= "bd-placeholder-img card-img-top" width= "600" height= "600" xmlns= "http://www.w3.org/2000/svg" preserveAspectRatio= "xMidYMid slice" focusable= "false" role= "img" aria-label= "Placeholder: 600x600" ><title> Placeholder</title><rect fill= "" width= "100%" height= "100%" /><text fill= "" dy= ".3em" x= "50%" y= "50%" > 600x600</text></svg>
</div>
<div class= "swiper-slide" >
<svg class= "bd-placeholder-img card-img-top" width= "600" height= "600" xmlns= "http://www.w3.org/2000/svg" preserveAspectRatio= "xMidYMid slice" focusable= "false" role= "img" aria-label= "Placeholder: 600x600" ><title> Placeholder</title><rect fill= "" width= "100%" height= "100%" /><text fill= "" dy= ".3em" x= "50%" y= "50%" > 600x600</text></svg>
</div>
<div class= "swiper-slide" >
<svg class= "bd-placeholder-img card-img-top" width= "600" height= "600" xmlns= "http://www.w3.org/2000/svg" preserveAspectRatio= "xMidYMid slice" focusable= "false" role= "img" aria-label= "Placeholder: 600x600" ><title> Placeholder</title><rect fill= "" width= "100%" height= "100%" /><text fill= "" dy= ".3em" x= "50%" y= "50%" > 600x600</text></svg>
</div>
<div class= "swiper-slide" >
<svg class= "bd-placeholder-img card-img-top" width= "600" height= "600" xmlns= "http://www.w3.org/2000/svg" preserveAspectRatio= "xMidYMid slice" focusable= "false" role= "img" aria-label= "Placeholder: 600x600" ><title> Placeholder</title><rect fill= "" width= "100%" height= "100%" /><text fill= "" dy= ".3em" x= "50%" y= "50%" > 600x600</text></svg>
</div>
</div>
<!-- Add Pagination -->
<div class= "swiper-pagination" ></div>
</div>
</div>
Fade
Placeholder
1200x600
Placeholder
1200x600
Placeholder
1200x600
<div class= "swiper-js-container" >
<div class= "swiper-container" data-swiper-effect= "fade" >
<div class= "swiper-wrapper" >
<div class= "swiper-slide" >
<svg class= "bd-placeholder-img card-img-top" width= "1200" height= "600" xmlns= "http://www.w3.org/2000/svg" preserveAspectRatio= "xMidYMid slice" focusable= "false" role= "img" aria-label= "Placeholder: 1200x600" ><title> Placeholder</title><rect fill= "" width= "100%" height= "100%" /><text fill= "" dy= ".3em" x= "50%" y= "50%" > 1200x600</text></svg>
</div>
<div class= "swiper-slide" >
<svg class= "bd-placeholder-img card-img-top" width= "1200" height= "600" xmlns= "http://www.w3.org/2000/svg" preserveAspectRatio= "xMidYMid slice" focusable= "false" role= "img" aria-label= "Placeholder: 1200x600" ><title> Placeholder</title><rect fill= "" width= "100%" height= "100%" /><text fill= "" dy= ".3em" x= "50%" y= "50%" > 1200x600</text></svg>
</div>
<div class= "swiper-slide" >
<svg class= "bd-placeholder-img card-img-top" width= "1200" height= "600" xmlns= "http://www.w3.org/2000/svg" preserveAspectRatio= "xMidYMid slice" focusable= "false" role= "img" aria-label= "Placeholder: 1200x600" ><title> Placeholder</title><rect fill= "" width= "100%" height= "100%" /><text fill= "" dy= ".3em" x= "50%" y= "50%" > 1200x600</text></svg>
</div>
</div>
<!-- Add Pagination -->
<div class= "swiper-pagination" ></div>
</div>
</div>
Coverflow
Placeholder
600x600
Placeholder
600x600
Placeholder
600x600
Placeholder
600x600
Placeholder
600x600
Placeholder
600x600
<div class= "swiper-js-container" >
<div class= "swiper-container" data-swiper-items= "1" data-swiper-sm-items= "2" data-swiper-xl-items= "3" data-swiper-space-between= "20" data-swiper-sm-space-between= "20" data-swiper-xl-space-between= "20" data-swiper-initial-slide= "2" data-swiper-effect= "coverflow" >
<div class= "swiper-wrapper" >
<div class= "swiper-slide" >
<svg class= "bd-placeholder-img card-img-top" width= "600" height= "600" xmlns= "http://www.w3.org/2000/svg" preserveAspectRatio= "xMidYMid slice" focusable= "false" role= "img" aria-label= "Placeholder: 600x600" ><title> Placeholder</title><rect fill= "" width= "100%" height= "100%" /><text fill= "" dy= ".3em" x= "50%" y= "50%" > 600x600</text></svg>
</div>
<div class= "swiper-slide" >
<svg class= "bd-placeholder-img card-img-top" width= "600" height= "600" xmlns= "http://www.w3.org/2000/svg" preserveAspectRatio= "xMidYMid slice" focusable= "false" role= "img" aria-label= "Placeholder: 600x600" ><title> Placeholder</title><rect fill= "" width= "100%" height= "100%" /><text fill= "" dy= ".3em" x= "50%" y= "50%" > 600x600</text></svg>
</div>
<div class= "swiper-slide" >
<svg class= "bd-placeholder-img card-img-top" width= "600" height= "600" xmlns= "http://www.w3.org/2000/svg" preserveAspectRatio= "xMidYMid slice" focusable= "false" role= "img" aria-label= "Placeholder: 600x600" ><title> Placeholder</title><rect fill= "" width= "100%" height= "100%" /><text fill= "" dy= ".3em" x= "50%" y= "50%" > 600x600</text></svg>
</div>
<div class= "swiper-slide" >
<svg class= "bd-placeholder-img card-img-top" width= "600" height= "600" xmlns= "http://www.w3.org/2000/svg" preserveAspectRatio= "xMidYMid slice" focusable= "false" role= "img" aria-label= "Placeholder: 600x600" ><title> Placeholder</title><rect fill= "" width= "100%" height= "100%" /><text fill= "" dy= ".3em" x= "50%" y= "50%" > 600x600</text></svg>
</div>
<div class= "swiper-slide" >
<svg class= "bd-placeholder-img card-img-top" width= "600" height= "600" xmlns= "http://www.w3.org/2000/svg" preserveAspectRatio= "xMidYMid slice" focusable= "false" role= "img" aria-label= "Placeholder: 600x600" ><title> Placeholder</title><rect fill= "" width= "100%" height= "100%" /><text fill= "" dy= ".3em" x= "50%" y= "50%" > 600x600</text></svg>
</div>
<div class= "swiper-slide" >
<svg class= "bd-placeholder-img card-img-top" width= "600" height= "600" xmlns= "http://www.w3.org/2000/svg" preserveAspectRatio= "xMidYMid slice" focusable= "false" role= "img" aria-label= "Placeholder: 600x600" ><title> Placeholder</title><rect fill= "" width= "100%" height= "100%" /><text fill= "" dy= ".3em" x= "50%" y= "50%" > 600x600</text></svg>
</div>
</div>
<!-- Add Pagination -->
<div class= "swiper-pagination" ></div>
</div>
</div>