Nessuna descrizione
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

ui-carousel.js 4.8KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191
  1. /**
  2. * UI Carousel
  3. */
  4. 'use strict';
  5. document.addEventListener('DOMContentLoaded', function (e) {
  6. const swiperDefault = document.querySelector('#swiper-default'),
  7. swiperWithArrows = document.querySelector('#swiper-with-arrows'),
  8. swiperWithPagination = document.querySelector('#swiper-with-pagination'),
  9. swiperWithProgress = document.querySelector('#swiper-with-progress'),
  10. swiperWithScrollbar = document.querySelector('#swiper-with-scrollbar'),
  11. verticalSwiper = document.querySelector('#swiper-vertical'),
  12. swiperMultipleSlides = document.querySelector('#swiper-multiple-slides'),
  13. swiper3dCoverflowEffect = document.querySelector('#swiper-3d-coverflow-effect'),
  14. swiper3dCubeEffect = document.querySelector('#swiper-3d-cube-effect'),
  15. swiper3dFlipEffect = document.querySelector('#swiper-3d-flip-effect'),
  16. galleryThumbs = document.querySelector('.gallery-thumbs'),
  17. galleryTop = document.querySelector('.gallery-top');
  18. let galleryInstance;
  19. // Default
  20. // --------------------------------------------------------------------
  21. if (swiperDefault) {
  22. new Swiper(swiperDefault, {
  23. slidesPerView: 'auto'
  24. });
  25. }
  26. // With arrows
  27. // --------------------------------------------------------------------
  28. if (swiperWithArrows) {
  29. new Swiper(swiperWithArrows, {
  30. slidesPerView: 'auto',
  31. navigation: {
  32. prevEl: '.swiper-button-prev',
  33. nextEl: '.swiper-button-next'
  34. }
  35. });
  36. }
  37. // With pagination
  38. // --------------------------------------------------------------------
  39. if (swiperWithPagination) {
  40. new Swiper(swiperWithPagination, {
  41. slidesPerView: 'auto',
  42. pagination: {
  43. clickable: true,
  44. el: '.swiper-pagination'
  45. }
  46. });
  47. }
  48. // With progress
  49. // --------------------------------------------------------------------
  50. if (swiperWithProgress) {
  51. new Swiper(swiperWithProgress, {
  52. slidesPerView: 'auto',
  53. pagination: {
  54. type: 'progressbar',
  55. el: '.swiper-pagination'
  56. },
  57. navigation: {
  58. prevEl: '.swiper-button-prev',
  59. nextEl: '.swiper-button-next'
  60. }
  61. });
  62. }
  63. // With scrollbar
  64. // --------------------------------------------------------------------
  65. if (swiperWithScrollbar) {
  66. new Swiper(swiperWithScrollbar, {
  67. scrollbar: {
  68. hide: true,
  69. el: '.swiper-scrollbar'
  70. }
  71. });
  72. }
  73. // Vertical
  74. // --------------------------------------------------------------------
  75. if (verticalSwiper) {
  76. new Swiper(verticalSwiper, {
  77. direction: 'vertical',
  78. pagination: {
  79. clickable: true,
  80. el: '.swiper-pagination'
  81. }
  82. });
  83. }
  84. // Multiple slides
  85. // --------------------------------------------------------------------
  86. if (swiperMultipleSlides) {
  87. new Swiper(swiperMultipleSlides, {
  88. slidesPerView: 2,
  89. spaceBetween: 20,
  90. pagination: {
  91. clickable: true,
  92. el: '.swiper-pagination'
  93. },
  94. breakpoints: {
  95. 576: {
  96. slidesPerView: 3,
  97. spaceBetween: 30
  98. }
  99. }
  100. });
  101. }
  102. // 3D coverflow effect
  103. // --------------------------------------------------------------------
  104. if (swiper3dCoverflowEffect) {
  105. new Swiper(swiper3dCoverflowEffect, {
  106. effect: 'coverflow',
  107. grabCursor: true,
  108. centeredSlides: true,
  109. slidesPerView: 'auto',
  110. coverflowEffect: {
  111. rotate: 50,
  112. stretch: 0,
  113. depth: 100,
  114. modifier: 1,
  115. slideShadows: true
  116. },
  117. pagination: {
  118. el: '.swiper-pagination'
  119. }
  120. });
  121. }
  122. // 3D cube effect
  123. // --------------------------------------------------------------------
  124. if (swiper3dCubeEffect) {
  125. new Swiper(swiper3dCubeEffect, {
  126. effect: 'cube',
  127. grabCursor: true,
  128. cubeEffect: {
  129. shadow: true,
  130. slideShadows: true,
  131. shadowScale: 0.94,
  132. shadowOffset: 20
  133. },
  134. pagination: {
  135. el: '.swiper-pagination'
  136. }
  137. });
  138. }
  139. // 3D flip effect
  140. // --------------------------------------------------------------------
  141. if (swiper3dFlipEffect) {
  142. new Swiper(swiper3dFlipEffect, {
  143. effect: 'flip',
  144. grabCursor: true,
  145. pagination: {
  146. el: '.swiper-pagination'
  147. },
  148. navigation: {
  149. prevEl: '.swiper-button-prev',
  150. nextEl: '.swiper-button-next'
  151. }
  152. });
  153. }
  154. // Gallery effect
  155. // --------------------------------------------------------------------
  156. if (galleryThumbs) {
  157. galleryInstance = new Swiper(galleryThumbs, {
  158. spaceBetween: 10,
  159. slidesPerView: 4,
  160. freeMode: true,
  161. watchSlidesVisibility: true,
  162. watchSlidesProgress: true
  163. });
  164. }
  165. if (galleryTop) {
  166. new Swiper(galleryTop, {
  167. spaceBetween: 10,
  168. navigation: {
  169. nextEl: '.swiper-button-next',
  170. prevEl: '.swiper-button-prev'
  171. },
  172. thumbs: {
  173. swiper: galleryInstance
  174. }
  175. });
  176. }
  177. });