swiper.js 7.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293
  1. /*=========================================================================================
  2. File Name: swiper.js
  3. Description: swiper plugin
  4. ----------------------------------------------------------------------------------------
  5. Item Name: Vuexy - Vuejs, HTML & Laravel Admin Dashboard Template
  6. Author: PIXINVENT
  7. Author URL: http://www.themeforest.net/user/pixinvent
  8. ==========================================================================================*/
  9. $(document).ready(function () {
  10. //initialize swiper when document ready
  11. // default
  12. var mySwiper = new Swiper('.swiper-default');
  13. // navigation
  14. var mySwiper1 = new Swiper('.swiper-navigations', {
  15. navigation: {
  16. nextEl: '.swiper-button-next',
  17. prevEl: '.swiper-button-prev',
  18. },
  19. });
  20. // pagination
  21. var mySwiper2 = new Swiper('.swiper-paginations', {
  22. pagination: {
  23. el: '.swiper-pagination',
  24. },
  25. });
  26. // progress
  27. var mySwiper3 = new Swiper('.swiper-progress', {
  28. pagination: {
  29. el: '.swiper-pagination',
  30. type: 'progressbar',
  31. },
  32. navigation: {
  33. nextEl: '.swiper-button-next',
  34. prevEl: '.swiper-button-prev',
  35. },
  36. });
  37. // multiple
  38. var mySwiper4 = new Swiper('.swiper-multiple', {
  39. slidesPerView: 3,
  40. spaceBetween: 30,
  41. pagination: {
  42. el: '.swiper-pagination',
  43. clickable: true,
  44. },
  45. });
  46. // multi row
  47. var mySwiper5 = new Swiper('.swiper-multi-row', {
  48. slidesPerView: 3,
  49. slidesPerColumn: 2,
  50. spaceBetween: 30,
  51. pagination: {
  52. el: '.swiper-pagination',
  53. clickable: true,
  54. },
  55. });
  56. // centered slides option-1
  57. var mySwiperOpt1 = new Swiper('.swiper-centered-slides', {
  58. slidesPerView: 'auto',
  59. centeredSlides: true,
  60. spaceBetween: 30,
  61. navigation: {
  62. nextEl: '.swiper-button-next',
  63. prevEl: '.swiper-button-prev',
  64. },
  65. });
  66. // centered slides option-2
  67. var swiperLength = $(".swiper-slide").length;
  68. if (swiperLength) {
  69. swiperLength = Math.floor(swiperLength / 2)
  70. }
  71. var mySwiperOpt2 = new Swiper('.swiper-centered-slides-2', {
  72. slidesPerView: 'auto',
  73. initialSlide: swiperLength,
  74. centeredSlides: true,
  75. spaceBetween: 30,
  76. slideToClickedSlide: true,
  77. });
  78. activeSlide(swiperLength);
  79. // Active slide change on swipe
  80. mySwiper.on('slideChange', function () {
  81. activeSlide(mySwiper.realIndex);
  82. });
  83. //add class active content of active slide
  84. function activeSlide(index) {
  85. var slideEl = mySwiper.slides[index]
  86. var slideId = $(slideEl).attr('id');
  87. $(".wrapper-content").removeClass("active");
  88. $("[data-faq=" + slideId + "]").addClass('active')
  89. };
  90. // fade effect
  91. var mySwiper7 = new Swiper('.swiper-fade-effect', {
  92. spaceBetween: 30,
  93. effect: 'fade',
  94. pagination: {
  95. el: '.swiper-pagination',
  96. clickable: true,
  97. },
  98. navigation: {
  99. nextEl: '.swiper-button-next',
  100. prevEl: '.swiper-button-prev',
  101. },
  102. });
  103. // cube effect
  104. var mySwiper8 = new Swiper('.swiper-cube-effect', {
  105. effect: 'cube',
  106. grabCursor: true,
  107. cubeEffect: {
  108. shadow: true,
  109. slideShadows: true,
  110. shadowOffset: 20,
  111. shadowScale: 0.94,
  112. },
  113. pagination: {
  114. el: '.swiper-pagination',
  115. },
  116. });
  117. // coverflow effect
  118. var mySwiper9 = new Swiper('.swiper-coverflow', {
  119. effect: 'coverflow',
  120. grabCursor: true,
  121. centeredSlides: true,
  122. slidesPerView: 'auto',
  123. coverflowEffect: {
  124. rotate: 50,
  125. stretch: 0,
  126. depth: 100,
  127. modifier: 1,
  128. slideShadows: true,
  129. },
  130. pagination: {
  131. el: '.swiper-pagination',
  132. },
  133. });
  134. // autoplay
  135. var mySwiper10 = new Swiper('.swiper-autoplay', {
  136. spaceBetween: 30,
  137. centeredSlides: true,
  138. autoplay: {
  139. delay: 2500,
  140. disableOnInteraction: false,
  141. },
  142. pagination: {
  143. el: '.swiper-pagination',
  144. clickable: true,
  145. },
  146. navigation: {
  147. nextEl: '.swiper-button-next',
  148. prevEl: '.swiper-button-prev',
  149. },
  150. });
  151. // gallery
  152. var galleryThumbs = new Swiper('.gallery-thumbs', {
  153. spaceBetween: 10,
  154. slidesPerView: 4,
  155. freeMode: true,
  156. watchSlidesVisibility: true,
  157. watchSlidesProgress: true,
  158. });
  159. var galleryTop = new Swiper('.gallery-top', {
  160. spaceBetween: 10,
  161. navigation: {
  162. nextEl: '.swiper-button-next',
  163. prevEl: '.swiper-button-prev',
  164. },
  165. thumbs: {
  166. swiper: galleryThumbs
  167. }
  168. });
  169. // parallax
  170. var mySwiper12 = new Swiper('.swiper-parallax', {
  171. speed: 600,
  172. parallax: true,
  173. pagination: {
  174. el: '.swiper-pagination',
  175. clickable: true,
  176. },
  177. navigation: {
  178. nextEl: '.swiper-button-next',
  179. prevEl: '.swiper-button-prev',
  180. },
  181. });
  182. // lazy loading
  183. var mySwiper13 = new Swiper('.swiper-lazy-loading', {
  184. // Enable lazy loading
  185. lazy: true,
  186. pagination: {
  187. el: '.swiper-pagination',
  188. clickable: true,
  189. },
  190. navigation: {
  191. nextEl: '.swiper-button-next',
  192. prevEl: '.swiper-button-prev',
  193. },
  194. });
  195. // Responsive Breakpoints
  196. var mySwiper14 = new Swiper('.swiper-responsive-breakpoints', {
  197. slidesPerView: 5,
  198. spaceBetween: 50,
  199. // init: false,
  200. pagination: {
  201. el: '.swiper-pagination',
  202. clickable: true,
  203. },
  204. breakpoints: {
  205. 1024: {
  206. slidesPerView: 4,
  207. spaceBetween: 40,
  208. },
  209. 768: {
  210. slidesPerView: 3,
  211. spaceBetween: 30,
  212. },
  213. 640: {
  214. slidesPerView: 2,
  215. spaceBetween: 20,
  216. },
  217. 320: {
  218. slidesPerView: 1,
  219. spaceBetween: 10,
  220. }
  221. }
  222. });
  223. // virtual slides
  224. var appendNumber = 600;
  225. var prependNumber = 1;
  226. var mySwiper15 = new Swiper('.swiper-virtual', {
  227. slidesPerView: 3,
  228. centeredSlides: true,
  229. spaceBetween: 30,
  230. pagination: {
  231. el: '.swiper-pagination',
  232. type: 'fraction',
  233. },
  234. navigation: {
  235. nextEl: '.swiper-button-next',
  236. prevEl: '.swiper-button-prev',
  237. },
  238. virtual: {
  239. slides: (function () {
  240. var slides = [];
  241. for (var i = 0; i < 600; i += 1) {
  242. slides.push('Slide ' + (i + 1));
  243. }
  244. return slides;
  245. }()),
  246. },
  247. });
  248. $('.slide-1').on('click', function (e) {
  249. e.preventDefault();
  250. mySwiper15.slideTo(0, 0);
  251. });
  252. $('.slide-250').on('click', function (e) {
  253. e.preventDefault();
  254. mySwiper15.slideTo(249, 0);
  255. });
  256. $('.slide-500').on('click', function (e) {
  257. e.preventDefault();
  258. mySwiper15.slideTo(499, 0);
  259. });
  260. $('.prepend-2-slides').on('click', function (e) {
  261. e.preventDefault();
  262. mySwiper15.virtual.prependSlide([
  263. 'Slide ' + (--prependNumber),
  264. 'Slide ' + (--prependNumber)
  265. ]);
  266. });
  267. $('.append-slide').on('click', function (e) {
  268. e.preventDefault();
  269. mySwiper15.virtual.appendSlide('Slide ' + (++appendNumber));
  270. });
  271. });