314 lines
7.1 KiB
JavaScript
314 lines
7.1 KiB
JavaScript
/*=========================================================================================
|
|
File Name: ext-component-swiper.js
|
|
Description: swiper plugin
|
|
----------------------------------------------------------------------------------------
|
|
Item Name: Vuexy - Vuejs, HTML & Laravel Admin Dashboard Template
|
|
Author: PIXINVENT
|
|
Author URL: http://www.themeforest.net/user/pixinvent
|
|
==========================================================================================*/
|
|
$(function () {
|
|
'use strict';
|
|
|
|
//initialize swiper when document ready
|
|
|
|
var slide1 = $('.slide-1');
|
|
var slide250 = $('.slide-250');
|
|
var slide500 = $('.slide-500');
|
|
var prepend2Slides = $('.prepend-2-slides');
|
|
var appendSlide = $('.append-slide');
|
|
|
|
// default
|
|
var mySwiper = new Swiper('.swiper-default');
|
|
|
|
// navigation
|
|
var mySwiper1 = new Swiper('.swiper-navigations', {
|
|
navigation: {
|
|
nextEl: '.swiper-button-next',
|
|
prevEl: '.swiper-button-prev'
|
|
}
|
|
});
|
|
|
|
// pagination
|
|
var mySwiper2 = new Swiper('.swiper-paginations', {
|
|
pagination: {
|
|
el: '.swiper-pagination'
|
|
}
|
|
});
|
|
|
|
// progress
|
|
var mySwiper3 = new Swiper('.swiper-progress', {
|
|
pagination: {
|
|
el: '.swiper-pagination',
|
|
type: 'progressbar'
|
|
},
|
|
navigation: {
|
|
nextEl: '.swiper-button-next',
|
|
prevEl: '.swiper-button-prev'
|
|
}
|
|
});
|
|
|
|
// multiple
|
|
var mySwiper4 = new Swiper('.swiper-multiple', {
|
|
slidesPerView: 3,
|
|
spaceBetween: 30,
|
|
pagination: {
|
|
el: '.swiper-pagination',
|
|
clickable: true
|
|
}
|
|
});
|
|
|
|
// multi row
|
|
var mySwiper5 = new Swiper('.swiper-multi-row', {
|
|
slidesPerView: 3,
|
|
slidesPerColumn: 2,
|
|
spaceBetween: 30,
|
|
slidesPerColumnFill: 'row',
|
|
pagination: {
|
|
el: '.swiper-pagination',
|
|
clickable: true
|
|
}
|
|
});
|
|
|
|
// centered slides option-1
|
|
var mySwiperOpt1 = new Swiper('.swiper-centered-slides', {
|
|
slidesPerView: 'auto',
|
|
centeredSlides: true,
|
|
spaceBetween: 30,
|
|
navigation: {
|
|
nextEl: '.swiper-button-next',
|
|
prevEl: '.swiper-button-prev'
|
|
}
|
|
});
|
|
|
|
// centered slides option-2
|
|
|
|
var swiperLength = $('.swiper-slide').length;
|
|
if (swiperLength) {
|
|
swiperLength = Math.floor(swiperLength / 2);
|
|
}
|
|
|
|
var mySwiperOpt2 = new Swiper('.swiper-centered-slides-2', {
|
|
slidesPerView: 'auto',
|
|
initialSlide: swiperLength,
|
|
centeredSlides: true,
|
|
spaceBetween: 30,
|
|
slideToClickedSlide: true
|
|
});
|
|
activeSlide(swiperLength);
|
|
|
|
// Active slide change on swipe
|
|
mySwiper.on('slideChange', function () {
|
|
activeSlide(mySwiper.realIndex);
|
|
});
|
|
|
|
//add class active content of active slide
|
|
function activeSlide(index) {
|
|
var slideEl = mySwiper.slides[index];
|
|
var slideId = $(slideEl).attr('id');
|
|
$('.wrapper-content').removeClass('active');
|
|
$('[data-faq=' + slideId + ']').addClass('active');
|
|
}
|
|
|
|
// fade effect
|
|
var mySwiper7 = new Swiper('.swiper-fade-effect', {
|
|
spaceBetween: 30,
|
|
effect: 'fade',
|
|
pagination: {
|
|
el: '.swiper-pagination',
|
|
clickable: true
|
|
},
|
|
navigation: {
|
|
nextEl: '.swiper-button-next',
|
|
prevEl: '.swiper-button-prev'
|
|
}
|
|
});
|
|
|
|
// cube effect
|
|
var mySwiper8 = new Swiper('.swiper-cube-effect', {
|
|
effect: 'cube',
|
|
grabCursor: true,
|
|
cubeEffect: {
|
|
shadow: true,
|
|
slideShadows: true,
|
|
shadowOffset: 20,
|
|
shadowScale: 0.94
|
|
},
|
|
pagination: {
|
|
el: '.swiper-pagination'
|
|
}
|
|
});
|
|
|
|
// coverflow effect
|
|
var mySwiper9 = new Swiper('.swiper-coverflow', {
|
|
effect: 'coverflow',
|
|
grabCursor: true,
|
|
centeredSlides: true,
|
|
slidesPerView: 'auto',
|
|
coverflowEffect: {
|
|
rotate: 50,
|
|
stretch: 0,
|
|
depth: 100,
|
|
modifier: 1,
|
|
slideShadows: true
|
|
},
|
|
pagination: {
|
|
el: '.swiper-pagination'
|
|
}
|
|
});
|
|
|
|
// autoplay
|
|
var mySwiper10 = new Swiper('.swiper-autoplay', {
|
|
spaceBetween: 30,
|
|
centeredSlides: true,
|
|
autoplay: {
|
|
delay: 2500,
|
|
disableOnInteraction: false
|
|
},
|
|
pagination: {
|
|
el: '.swiper-pagination',
|
|
clickable: true
|
|
},
|
|
navigation: {
|
|
nextEl: '.swiper-button-next',
|
|
prevEl: '.swiper-button-prev'
|
|
}
|
|
});
|
|
|
|
// gallery
|
|
var galleryThumbs = new Swiper('.gallery-thumbs', {
|
|
spaceBetween: 10,
|
|
slidesPerView: 4,
|
|
freeMode: true,
|
|
watchSlidesVisibility: true,
|
|
watchSlidesProgress: true
|
|
});
|
|
var galleryTop = new Swiper('.gallery-top', {
|
|
spaceBetween: 10,
|
|
navigation: {
|
|
nextEl: '.swiper-button-next',
|
|
prevEl: '.swiper-button-prev'
|
|
},
|
|
thumbs: {
|
|
swiper: galleryThumbs
|
|
}
|
|
});
|
|
|
|
// parallax
|
|
var mySwiper12 = new Swiper('.swiper-parallax', {
|
|
speed: 600,
|
|
parallax: true,
|
|
pagination: {
|
|
el: '.swiper-pagination',
|
|
clickable: true
|
|
},
|
|
navigation: {
|
|
nextEl: '.swiper-button-next',
|
|
prevEl: '.swiper-button-prev'
|
|
}
|
|
});
|
|
|
|
// lazy loading
|
|
var mySwiper13 = new Swiper('.swiper-lazy-loading', {
|
|
// Enable lazy loading
|
|
lazy: true,
|
|
pagination: {
|
|
el: '.swiper-pagination',
|
|
clickable: true
|
|
},
|
|
navigation: {
|
|
nextEl: '.swiper-button-next',
|
|
prevEl: '.swiper-button-prev'
|
|
}
|
|
});
|
|
|
|
// Responsive Breakpoints
|
|
var mySwiper14 = new Swiper('.swiper-responsive-breakpoints', {
|
|
slidesPerView: 5,
|
|
spaceBetween: 50,
|
|
// init: false,
|
|
pagination: {
|
|
el: '.swiper-pagination',
|
|
clickable: true
|
|
},
|
|
breakpoints: {
|
|
1024: {
|
|
slidesPerView: 4,
|
|
spaceBetween: 40
|
|
},
|
|
768: {
|
|
slidesPerView: 3,
|
|
spaceBetween: 30
|
|
},
|
|
640: {
|
|
slidesPerView: 2,
|
|
spaceBetween: 20
|
|
},
|
|
320: {
|
|
slidesPerView: 1,
|
|
spaceBetween: 10
|
|
}
|
|
}
|
|
});
|
|
|
|
// virtual slides
|
|
var appendNumber = 600;
|
|
var prependNumber = 1;
|
|
var mySwiper15 = new Swiper('.swiper-virtual', {
|
|
slidesPerView: 3,
|
|
centeredSlides: true,
|
|
spaceBetween: 30,
|
|
pagination: {
|
|
el: '.swiper-pagination',
|
|
type: 'fraction'
|
|
},
|
|
navigation: {
|
|
nextEl: '.swiper-button-next',
|
|
prevEl: '.swiper-button-prev'
|
|
},
|
|
virtual: {
|
|
slides: (function () {
|
|
var slides = [];
|
|
for (var i = 0; i < 600; i += 1) {
|
|
slides.push('Slide ' + (i + 1));
|
|
}
|
|
return slides;
|
|
})()
|
|
}
|
|
});
|
|
// Go to first slide
|
|
if (slide1) {
|
|
slide1.on('click', function (e) {
|
|
e.preventDefault();
|
|
mySwiper15.slideTo(0, 0);
|
|
});
|
|
}
|
|
// Go to slide 250
|
|
if (slide250) {
|
|
slide250.on('click', function (e) {
|
|
e.preventDefault();
|
|
mySwiper15.slideTo(249, 0);
|
|
});
|
|
}
|
|
// Go to slide 500
|
|
if (slide500) {
|
|
slide500.on('click', function (e) {
|
|
e.preventDefault();
|
|
mySwiper15.slideTo(499, 0);
|
|
});
|
|
}
|
|
// Prepend 2 slides
|
|
if (prepend2Slides) {
|
|
prepend2Slides.on('click', function (e) {
|
|
e.preventDefault();
|
|
mySwiper15.virtual.prependSlide(['Slide ' + --prependNumber, 'Slide ' + --prependNumber]);
|
|
});
|
|
}
|
|
// Append a slide
|
|
if (appendSlide) {
|
|
appendSlide.on('click', function (e) {
|
|
e.preventDefault();
|
|
mySwiper15.virtual.appendSlide('Slide ' + ++appendNumber);
|
|
});
|
|
}
|
|
});
|