Chinaunix首页 | 论坛 | 博客
  • 博客访问: 957048
  • 博文数量: 210
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 2070
  • 用 户 组: 普通用户
  • 注册时间: 2014-11-19 21:54
文章分类

全部博文(210)

文章存档

2020年(2)

2019年(18)

2018年(27)

2017年(5)

2016年(53)

2015年(88)

2014年(17)

分类: jQuery

2016-09-20 08:39:21


html代码:

点击(此处)折叠或打开

  1. <!DOCTYPE html>
  2. <html>
  3.     <head>
  4.         <meta charset="utf-8" />
  5.         <title></title>
  6.         <link rel="stylesheet" type="text/css" href="css/swiper.min.css"/>
  7.         <script type="text/javascript" src="js/swiper.min.js"></script>
  8.         <style type="text/css">
  9.             .swiper-slide{
  10.                 height: 300px;
  11.                 width: 400px;
  12.             }
  13.             .swiper-slide img{
  14.                 margin-left: 500px;
  15.             }
  16.         </style>
  17.     </head>
  18.     <body>
  19.         <div class="swiper-container">
  20.              <div class="swiper-wrapper">
  21.                     <div class="swiper-slide" ><img src="img/1.jpg"/></div>
  22.                     <div class="swiper-slide" ><img src="img/2.jpg"/></div>
  23.                     <div class="swiper-slide" ><img src="img/3.jpg"/></div>
  24.                     <div class="swiper-slide" ><img src="img/4.jpg"/></div>
  25.                     <div class="swiper-slide" ><img src="img/5.jpg"/></div>
  26.                     
  27.              </div>
  28.              <div class="swiper-pagination"></div>
  29.              <div class="swiper-button-next"></div>
  30.              <div class="swiper-button-prev"></div>
  31.         </div>
  32. <script>
  33.     var mySwiper = new Swiper('.swiper-container', {
  34.         pagination: '.swiper-pagination',
  35.         nextButton: '.swiper-button-next',
  36.         prevButton: '.swiper-button-prev',
  37.         paginationClickable: true,
  38. // spaceBetween: 30,
  39.         centeredSlides: true,
  40.         autoplay: 2500,
  41.         autoplayDisableOnInteraction: false,
  42.         loop : true
  43.     
  44. //    speed:300,
  45. //    initialSlide :2,
  46. //    direction : 'vertical',//方向
  47.     })
  48. </script>
  49.     </body>
  50. </html>
css代码:

点击(此处)折叠或打开

  1. .swiper-container {
  2.     margin: 0 auto;
  3.     position: relative;
  4.     overflow: hidden;
  5.     z-index: 1
  6. }

  7. .swiper-container-no-flexbox .swiper-slide {
  8.     float: left
  9. }

  10. .swiper-container-vertical>.swiper-wrapper {
  11.     -webkit-box-orient: vertical;
  12.     -moz-box-orient: vertical;
  13.     -ms-flex-direction: column;
  14.     -webkit-flex-direction: column;
  15.     flex-direction: column
  16. }

  17. .swiper-wrapper {
  18.     position: relative;
  19.     width: 100%;
  20.     height: 100%;
  21.     z-index: 1;
  22.     display: -webkit-box;
  23.     display: -moz-box;
  24.     display: -ms-flexbox;
  25.     display: -webkit-flex;
  26.     display: flex;
  27.     -webkit-transition-property: -webkit-transform;
  28.     -moz-transition-property: -moz-transform;
  29.     -o-transition-property: -o-transform;
  30.     -ms-transition-property: -ms-transform;
  31.     transition-property: transform;
  32.     -webkit-box-sizing: content-box;
  33.     -moz-box-sizing: content-box;
  34.     box-sizing: content-box
  35. }

  36. .swiper-container-android .swiper-slide,.swiper-wrapper {
  37.     -webkit-transform: translate3d(0,0,0);
  38.     -moz-transform: translate3d(0,0,0);
  39.     -o-transform: translate(0,0);
  40.     -ms-transform: translate3d(0,0,0);
  41.     transform: translate3d(0,0,0)
  42. }

  43. .swiper-container-multirow>.swiper-wrapper {
  44.     -webkit-box-lines: multiple;
  45.     -moz-box-lines: multiple;
  46.     -ms-flex-wrap: wrap;
  47.     -webkit-flex-wrap: wrap;
  48.     flex-wrap: wrap
  49. }

  50. .swiper-container-free-mode>.swiper-wrapper {
  51.     -webkit-transition-timing-function: ease-out;
  52.     -moz-transition-timing-function: ease-out;
  53.     -ms-transition-timing-function: ease-out;
  54.     -o-transition-timing-function: ease-out;
  55.     transition-timing-function: ease-out;
  56.     margin: 0 auto
  57. }

  58. .swiper-slide {
  59.     -webkit-flex-shrink: 0;
  60.     -ms-flex: 0 0 auto;
  61.     flex-shrink: 0;
  62.     width: 100%;
  63.     height: 100%;
  64.     position: relative
  65. }

  66. .swiper-container-autoheight,.swiper-container-autoheight .swiper-slide {
  67.     height: auto
  68. }

  69. .swiper-container-autoheight .swiper-wrapper {
  70.     -webkit-box-align: start;
  71.     -ms-flex-align: start;
  72.     -webkit-align-items: flex-start;
  73.     align-items: flex-start;
  74.     -webkit-transition-property: -webkit-transform,height;
  75.     -moz-transition-property: -moz-transform;
  76.     -o-transition-property: -o-transform;
  77.     -ms-transition-property: -ms-transform;
  78.     transition-property: transform,height
  79. }

  80. .swiper-container .swiper-notification {
  81.     position: absolute;
  82.     left: 0;
  83.     top: 0;
  84.     pointer-events: none;
  85.     opacity: 0;
  86.     z-index: -1000
  87. }

  88. .swiper-wp8-horizontal {
  89.     -ms-touch-action: pan-y;
  90.     touch-action: pan-y
  91. }

  92. .swiper-wp8-vertical {
  93.     -ms-touch-action: pan-x;
  94.     touch-action: pan-x
  95. }

  96. .swiper-button-next,.swiper-button-prev {
  97.     position: absolute;
  98.     top: 50%;
  99.     width: 27px;
  100.     height: 44px;
  101.     margin-top: -22px;
  102.     z-index: 10;
  103.     cursor: pointer;
  104.     -moz-background-size: 27px 44px;
  105.     -webkit-background-size: 27px 44px;
  106.     background-size: 27px 44px;
  107.     background-position: center;
  108.     background-repeat: no-repeat
  109. }

  110. .swiper-button-next.swiper-button-disabled,.swiper-button-prev.swiper-button-disabled {
  111.     opacity: .35;
  112.     cursor: auto;
  113.     pointer-events: none
  114. }

  115. .swiper-button-prev,.swiper-container-rtl .swiper-button-next {
  116.     background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E");
  117.     left: 504px;
  118.     right: auto;
  119. }

  120. .swiper-button-prev.swiper-button-black,.swiper-container-rtl .swiper-button-next.swiper-button-black {
  121.     background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E")
  122. }

  123. .swiper-button-prev.swiper-button-white,.swiper-container-rtl .swiper-button-next.swiper-button-white {
  124.     background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E")
  125. }

  126. .swiper-button-next,.swiper-container-rtl .swiper-button-prev {
  127.     background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E");
  128.     right: 500px;
  129.     left: auto;
  130.     color: white;
  131. }

  132. .swiper-button-next.swiper-button-black,.swiper-container-rtl .swiper-button-prev.swiper-button-black {
  133.     background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E")
  134. }

  135. .swiper-button-next.swiper-button-white,.swiper-container-rtl .swiper-button-prev.swiper-button-white {
  136.     background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E")
  137. }

  138. .swiper-pagination {
  139.     position: absolute;
  140.     text-align: center;
  141.     -webkit-transition: .3s;
  142.     -moz-transition: .3s;
  143.     -o-transition: .3s;
  144.     transition: .3s;
  145.     -webkit-transform: translate3d(0,0,0);
  146.     -ms-transform: translate3d(0,0,0);
  147.     -o-transform: translate3d(0,0,0);
  148.     transform: translate3d(0,0,0);
  149.     z-index: 10
  150. }

  151. .swiper-pagination.swiper-pagination-hidden {
  152.     opacity: 0
  153. }

  154. .swiper-container-horizontal>.swiper-pagination-bullets,.swiper-pagination-custom,.swiper-pagination-fraction {
  155.     bottom: 10px;
  156.     left: 0;
  157.     width: 100%
  158. }

  159. .swiper-pagination-bullet {
  160.     width: 8px;
  161.     height: 8px;
  162.     display: inline-block;
  163.     border-radius: 100%;
  164.     background: #000;
  165.     opacity: .2
  166. }

  167. button.swiper-pagination-bullet {
  168.     border: none;
  169.     margin: 0;
  170.     padding: 0;
  171.     box-shadow: none;
  172.     -moz-appearance: none;
  173.     -ms-appearance: none;
  174.     -webkit-appearance: none;
  175.     appearance: none
  176. }

  177. .swiper-pagination-clickable .swiper-pagination-bullet {
  178.     cursor: pointer
  179. }

  180. .swiper-pagination-white .swiper-pagination-bullet {
  181.     background: #fff
  182. }

  183. .swiper-pagination-bullet-active {
  184.     opacity: 1;
  185.     background: #007aff
  186. }

  187. .swiper-pagination-white .swiper-pagination-bullet-active {
  188.     background: #fff
  189. }

  190. .swiper-pagination-black .swiper-pagination-bullet-active {
  191.     background: #000
  192. }

  193. .swiper-container-vertical>.swiper-pagination-bullets {
  194.     right: 10px;
  195.     top: 50%;
  196.     -webkit-transform: translate3d(0,-50%,0);
  197.     -moz-transform: translate3d(0,-50%,0);
  198.     -o-transform: translate(0,-50%);
  199.     -ms-transform: translate3d(0,-50%,0);
  200.     transform: translate3d(0,-50%,0)
  201. }

  202. .swiper-container-vertical>.swiper-pagination-bullets .swiper-pagination-bullet {
  203.     margin: 5px 0;
  204.     display: block
  205. }

  206. .swiper-container-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet {
  207.     margin: 0 5px
  208. }

  209. .swiper-pagination-progress {
  210.     background: rgba(0,0,0,.25);
  211.     position: absolute
  212. }

  213. .swiper-pagination-progress .swiper-pagination-progressbar {
  214.     background: #007aff;
  215.     position: absolute;
  216.     left: 0;
  217.     top: 0;
  218.     width: 100%;
  219.     height: 100%;
  220.     -webkit-transform: scale(0);
  221.     -ms-transform: scale(0);
  222.     -o-transform: scale(0);
  223.     transform: scale(0);
  224.     -webkit-transform-origin: left top;
  225.     -moz-transform-origin: left top;
  226.     -ms-transform-origin: left top;
  227.     -o-transform-origin: left top;
  228.     transform-origin: left top
  229. }

  230. .swiper-container-rtl .swiper-pagination-progress .swiper-pagination-progressbar {
  231.     -webkit-transform-origin: right top;
  232.     -moz-transform-origin: right top;
  233.     -ms-transform-origin: right top;
  234.     -o-transform-origin: right top;
  235.     transform-origin: right top
  236. }

  237. .swiper-container-horizontal>.swiper-pagination-progress {
  238.     width: 100%;
  239.     height: 4px;
  240.     left: 0;
  241.     top: 0
  242. }

  243. .swiper-container-vertical>.swiper-pagination-progress {
  244.     width: 4px;
  245.     height: 100%;
  246.     left: 0;
  247.     top: 0
  248. }

  249. .swiper-pagination-progress.swiper-pagination-white {
  250.     background: rgba(255,255,255,.5)
  251. }

  252. .swiper-pagination-progress.swiper-pagination-white .swiper-pagination-progressbar {
  253.     background: #fff
  254. }

  255. .swiper-pagination-progress.swiper-pagination-black .swiper-pagination-progressbar {
  256.     background: #000
  257. }

  258. .swiper-container-3d {
  259.     -webkit-perspective: 1200px;
  260.     -moz-perspective: 1200px;
  261.     -o-perspective: 1200px;
  262.     perspective: 1200px
  263. }

  264. .swiper-container-3d .swiper-cube-shadow,.swiper-container-3d .swiper-slide,.swiper-container-3d .swiper-slide-shadow-bottom,.swiper-container-3d .swiper-slide-shadow-left,.swiper-container-3d .swiper-slide-shadow-right,.swiper-container-3d .swiper-slide-shadow-top,.swiper-container-3d .swiper-wrapper {
  265.     -webkit-transform-style: preserve-3d;
  266.     -moz-transform-style: preserve-3d;
  267.     -ms-transform-style: preserve-3d;
  268.     transform-style: preserve-3d
  269. }

  270. .swiper-container-3d .swiper-slide-shadow-bottom,.swiper-container-3d .swiper-slide-shadow-left,.swiper-container-3d .swiper-slide-shadow-right,.swiper-container-3d .swiper-slide-shadow-top {
  271.     position: absolute;
  272.     left: 0;
  273.     top: 0;
  274.     width: 100%;
  275.     height: 100%;
  276.     pointer-events: none;
  277.     z-index: 10
  278. }

  279. .swiper-container-3d .swiper-slide-shadow-left {
  280.     background-image: -webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.5)),to(rgba(0,0,0,0)));
  281.     background-image: -webkit-linear-gradient(right,rgba(0,0,0,.5),rgba(0,0,0,0));
  282.     background-image: -moz-linear-gradient(right,rgba(0,0,0,.5),rgba(0,0,0,0));
  283.     background-image: -o-linear-gradient(right,rgba(0,0,0,.5),rgba(0,0,0,0));
  284.     background-image: linear-gradient(to left,rgba(0,0,0,.5),rgba(0,0,0,0))
  285. }

  286. .swiper-container-3d .swiper-slide-shadow-right {
  287.     background-image: -webkit-gradient(linear,right top,left top,from(rgba(0,0,0,.5)),to(rgba(0,0,0,0)));
  288.     background-image: -webkit-linear-gradient(left,rgba(0,0,0,.5),rgba(0,0,0,0));
  289.     background-image: -moz-linear-gradient(left,rgba(0,0,0,.5),rgba(0,0,0,0));
  290.     background-image: -o-linear-gradient(left,rgba(0,0,0,.5),rgba(0,0,0,0));
  291.     background-image: linear-gradient(to right,rgba(0,0,0,.5),rgba(0,0,0,0))
  292. }

  293. .swiper-container-3d .swiper-slide-shadow-top {
  294.     background-image: -webkit-gradient(linear,left top,left bottom,from(rgba(0,0,0,.5)),to(rgba(0,0,0,0)));
  295.     background-image: -webkit-linear-gradient(bottom,rgba(0,0,0,.5),rgba(0,0,0,0));
  296.     background-image: -moz-linear-gradient(bottom,rgba(0,0,0,.5),rgba(0,0,0,0));
  297.     background-image: -o-linear-gradient(bottom,rgba(0,0,0,.5),rgba(0,0,0,0));
  298.     background-image: linear-gradient(to top,rgba(0,0,0,.5),rgba(0,0,0,0))
  299. }

  300. .swiper-container-3d .swiper-slide-shadow-bottom {
  301.     background-image: -webkit-gradient(linear,left bottom,left top,from(rgba(0,0,0,.5)),to(rgba(0,0,0,0)));
  302.     background-image: -webkit-linear-gradient(top,rgba(0,0,0,.5),rgba(0,0,0,0));
  303.     background-image: -moz-linear-gradient(top,rgba(0,0,0,.5),rgba(0,0,0,0));
  304.     background-image: -o-linear-gradient(top,rgba(0,0,0,.5),rgba(0,0,0,0));
  305.     background-image: linear-gradient(to bottom,rgba(0,0,0,.5),rgba(0,0,0,0))
  306. }

  307. .swiper-container-coverflow .swiper-wrapper,.swiper-container-flip .swiper-wrapper {
  308.     -ms-perspective: 1200px
  309. }

  310. .swiper-container-cube,.swiper-container-flip {
  311.     overflow: visible
  312. }

  313. .swiper-container-cube .swiper-slide,.swiper-container-flip .swiper-slide {
  314.     pointer-events: none;
  315.     -webkit-backface-visibility: hidden;
  316.     -moz-backface-visibility: hidden;
  317.     -ms-backface-visibility: hidden;
  318.     backface-visibility: hidden;
  319.     z-index: 1
  320. }

  321. .swiper-container-cube .swiper-slide .swiper-slide,.swiper-container-flip .swiper-slide .swiper-slide {
  322.     pointer-events: none
  323. }

  324. .swiper-container-cube .swiper-slide-active,.swiper-container-cube .swiper-slide-active .swiper-slide-active,.swiper-container-flip .swiper-slide-active,.swiper-container-flip .swiper-slide-active .swiper-slide-active {
  325.     pointer-events: auto
  326. }

  327. .swiper-container-cube .swiper-slide-shadow-bottom,.swiper-container-cube .swiper-slide-shadow-left,.swiper-container-cube .swiper-slide-shadow-right,.swiper-container-cube .swiper-slide-shadow-top,.swiper-container-flip .swiper-slide-shadow-bottom,.swiper-container-flip .swiper-slide-shadow-left,.swiper-container-flip .swiper-slide-shadow-right,.swiper-container-flip .swiper-slide-shadow-top {
  328.     z-index: 0;
  329.     -webkit-backface-visibility: hidden;
  330.     -moz-backface-visibility: hidden;
  331.     -ms-backface-visibility: hidden;
  332.     backface-visibility: hidden
  333. }

  334. .swiper-container-cube .swiper-slide {
  335.     visibility: hidden;
  336.     -webkit-transform-origin: 0 0;
  337.     -moz-transform-origin: 0 0;
  338.     -ms-transform-origin: 0 0;
  339.     transform-origin: 0 0;
  340.     width: 100%;
  341.     height: 100%
  342. }

  343. .swiper-container-cube.swiper-container-rtl .swiper-slide {
  344.     -webkit-transform-origin: 100% 0;
  345.     -moz-transform-origin: 100% 0;
  346.     -ms-transform-origin: 100% 0;
  347.     transform-origin: 100% 0
  348. }

  349. .swiper-container-cube .swiper-slide-active,.swiper-container-cube .swiper-slide-next,.swiper-container-cube .swiper-slide-next+.swiper-slide,.swiper-container-cube .swiper-slide-prev {
  350.     pointer-events: auto;
  351.     visibility: visible
  352. }

  353. .swiper-container-cube .swiper-cube-shadow {
  354.     position: absolute;
  355.     left: 0;
  356.     bottom: 0;
  357.     width: 100%;
  358.     height: 100%;
  359.     background: #000;
  360.     opacity: .6;
  361.     -webkit-filter: blur(50px);
  362.     filter: blur(50px);
  363.     z-index: 0
  364. }

  365. .swiper-container-fade.swiper-container-free-mode .swiper-slide {
  366.     -webkit-transition-timing-function: ease-out;
  367.     -moz-transition-timing-function: ease-out;
  368.     -ms-transition-timing-function: ease-out;
  369.     -o-transition-timing-function: ease-out;
  370.     transition-timing-function: ease-out
  371. }

  372. .swiper-container-fade .swiper-slide {
  373.     pointer-events: none;
  374.     -webkit-transition-property: opacity;
  375.     -moz-transition-property: opacity;
  376.     -o-transition-property: opacity;
  377.     transition-property: opacity
  378. }

  379. .swiper-container-fade .swiper-slide .swiper-slide {
  380.     pointer-events: none
  381. }

  382. .swiper-container-fade .swiper-slide-active,.swiper-container-fade .swiper-slide-active .swiper-slide-active {
  383.     pointer-events: auto
  384. }

  385. .swiper-scrollbar {
  386.     border-radius: 10px;
  387.     position: relative;
  388.     -ms-touch-action: none;
  389.     background: rgba(0,0,0,.1)
  390. }

  391. .swiper-container-horizontal>.swiper-scrollbar {
  392.     position: absolute;
  393.     left: 1%;
  394.     bottom: 3px;
  395.     z-index: 50;
  396.     height: 5px;
  397.     width: 98%
  398. }

  399. .swiper-container-vertical>.swiper-scrollbar {
  400.     position: absolute;
  401.     right: 3px;
  402.     top: 1%;
  403.     z-index: 50;
  404.     width: 5px;
  405.     height: 98%
  406. }

  407. .swiper-scrollbar-drag {
  408.     height: 100%;
  409.     width: 100%;
  410.     position: relative;
  411.     background: rgba(0,0,0,.5);
  412.     border-radius: 10px;
  413.     left: 0;
  414.     top: 0
  415. }

  416. .swiper-scrollbar-cursor-drag {
  417.     cursor: move
  418. }

  419. .swiper-lazy-preloader {
  420.     width: 42px;
  421.     height: 42px;
  422.     position: absolute;
  423.     left: 50%;
  424.     top: 50%;
  425.     margin-left: -21px;
  426.     margin-top: -21px;
  427.     z-index: 10;
  428.     -webkit-transform-origin: 50%;
  429.     -moz-transform-origin: 50%;
  430.     transform-origin: 50%;
  431.     -webkit-animation: swiper-preloader-spin 1s steps(12,end) infinite;
  432.     -moz-animation: swiper-preloader-spin 1s steps(12,end) infinite;
  433.     animation: swiper-preloader-spin 1s steps(12,end) infinite
  434. }

  435. .swiper-lazy-preloader:after {
  436.     display: block;
  437.     content: "";
  438.     width: 100%;
  439.     height: 100%;
  440.     background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%236c6c6c'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
  441.     background-position: 50%;
  442.     -webkit-background-size: 100%;
  443.     background-size: 100%;
  444.     background-repeat: no-repeat
  445. }

  446. .swiper-lazy-preloader-white:after {
  447.     background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%23fff'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E")
  448. }

  449. @-webkit-keyframes swiper-preloader-spin {
  450.     100% {
  451.         -webkit-transform: rotate(360deg)
  452.     }
  453. }

  454. @keyframes swiper-preloader-spin {
  455.     100% {
  456.         transform: rotate(360deg)
  457.     }
  458. }

js代码:

点击(此处)折叠或打开

  1. !function() {
  2.     "use strict";
  3.     function e(e) {
  4.         e.fn.swiper = function(a) {
  5.             var r;
  6.             return e(this).each(function() {
  7.                 var e = new t(this,a);
  8.                 r || (r = e)
  9.             }),
  10.             r
  11.         }
  12.     }
  13.     var a, t = function(e, i) {
  14.         function s(e) {
  15.             return Math.floor(e)
  16.         }
  17.         function n() {
  18.             b.autoplayTimeoutId = setTimeout(function() {
  19.                 b.params.loop ? (b.fixLoop(),
  20.                 b._slideNext(),
  21.                 b.emit("onAutoplay", b)) : b.isEnd ? i.autoplayStopOnLast ? b.stopAutoplay() : (b._slideTo(0),
  22.                 b.emit("onAutoplay", b)) : (b._slideNext(),
  23.                 b.emit("onAutoplay", b))
  24.             }, b.params.autoplay)
  25.         }
  26.         function o(e, t) {
  27.             var r = a(e.target);
  28.             if (!r.is(t))
  29.                 if ("string" == typeof t)
  30.                     r = r.parents(t);
  31.                 else if (t.nodeType) {
  32.                     var i;
  33.                     return r.parents().each(function(e, a) {
  34.                         a === t && (i = t)
  35.                     }),
  36.                     i ? t : void 0
  37.                 }
  38.             if (0 !== r.length)
  39.                 return r[0]
  40.         }
  41.         function l(e, a) {
  42.             a = a || {};
  43.             var t = window.MutationObserver || window.WebkitMutationObserver
  44.               , r = new t(function(e) {
  45.                 e.forEach(function(e) {
  46.                     b.onResize(!0),
  47.                     b.emit("onObserverUpdate", b, e)
  48.                 })
  49.             }
  50.             );
  51.             r.observe(e, {
  52.                 attributes: "undefined" == typeof a.attributes ? !0 : a.attributes,
  53.                 childList: "undefined" == typeof a.childList ? !0 : a.childList,
  54.                 characterData: "undefined" == typeof a.characterData ? !0 : a.characterData
  55.             }),
  56.             b.observers.push(r)
  57.         }
  58.         function p(e) {
  59.             e.originalEvent && (e = e.originalEvent);
  60.             var a = e.keyCode || e.charCode;
  61.             if (!b.params.allowSwipeToNext && (b.isHorizontal() && 39 === a || !b.isHorizontal() && 40 === a))
  62.                 return !1;
  63.             if (!b.params.allowSwipeToPrev && (b.isHorizontal() && 37 === a || !b.isHorizontal() && 38 === a))
  64.                 return !1;
  65.             if (!(e.shiftKey || e.altKey || e.ctrlKey || e.metaKey || document.activeElement && document.activeElement.nodeName && ("input" === document.activeElement.nodeName.toLowerCase() || "textarea" === document.activeElement.nodeName.toLowerCase()))) {
  66.                 if (37 === a || 39 === a || 38 === a || 40 === a) {
  67.                     var t = !1;
  68.                     if (b.container.parents(".swiper-slide").length > 0 && 0 === b.container.parents(".swiper-slide-active").length)
  69.                         return;
  70.                     var r = {
  71.                         left: window.pageXOffset,
  72.                         top: window.pageYOffset
  73.                     }
  74.                       , i = window.innerWidth
  75.                       , s = window.innerHeight
  76.                       , n = b.container.offset();
  77.                     b.rtl && (n.left = n.left - b.container[0].scrollLeft);
  78.                     for (var o = [[n.left, n.top], [n.left + b.width, n.top], [n.left, n.top + b.height], [n.left + b.width, n.top + b.height]], l = 0; l < o.length; l++) {
  79.                         var p = o[l];
  80.                         p[0] >= r.left && p[0] <= r.left + i && p[1] >= r.top && p[1] <= r.top + s && (t = !0)
  81.                     }
  82.                     if (!t)
  83.                         return
  84.                 }
  85.                 b.isHorizontal() ? ((37 === a || 39 === a) && (e.preventDefault ? e.preventDefault() : e.returnValue = !1),
  86.                 (39 === a && !b.rtl || 37 === a && b.rtl) && b.slideNext(),
  87.                 (37 === a && !b.rtl || 39 === a && b.rtl) && b.slidePrev()) : ((38 === a || 40 === a) && (e.preventDefault ? e.preventDefault() : e.returnValue = !1),
  88.                 40 === a && b.slideNext(),
  89.                 38 === a && b.slidePrev())
  90.             }
  91.         }
  92.         function d(e) {
  93.             e.originalEvent && (e = e.originalEvent);
  94.             var a = b.mousewheel.event
  95.               , t = 0
  96.               , r = b.rtl ? -1 : 1;
  97.             if ("mousewheel" === a)
  98.                 if (b.params.mousewheelForceToAxis)
  99.                     if (b.isHorizontal()) {
  100.                         if (!(Math.abs(e.wheelDeltaX) > Math.abs(e.wheelDeltaY)))
  101.                             return;
  102.                         t = e.wheelDeltaX * r
  103.                     } else {
  104.                         if (!(Math.abs(e.wheelDeltaY) > Math.abs(e.wheelDeltaX)))
  105.                             return;
  106.                         t = e.wheelDeltaY
  107.                     }
  108.                 else
  109.                     t = Math.abs(e.wheelDeltaX) > Math.abs(e.wheelDeltaY) ? -e.wheelDeltaX * r : -e.wheelDeltaY;
  110.             else if ("DOMMouseScroll" === a)
  111.                 t = -e.detail;
  112.             else if ("wheel" === a)
  113.                 if (b.params.mousewheelForceToAxis)
  114.                     if (b.isHorizontal()) {
  115.                         if (!(Math.abs(e.deltaX) > Math.abs(e.deltaY)))
  116.                             return;
  117.                         t = -e.deltaX * r
  118.                     } else {
  119.                         if (!(Math.abs(e.deltaY) > Math.abs(e.deltaX)))
  120.                             return;
  121.                         t = -e.deltaY
  122.                     }
  123.                 else
  124.                     t = Math.abs(e.deltaX) > Math.abs(e.deltaY) ? -e.deltaX * r : -e.deltaY;
  125.             if (0 !== t) {
  126.                 if (b.params.mousewheelInvert && (t = -t),
  127.                 b.params.freeMode) {
  128.                     var i = b.getWrapperTranslate() + t * b.params.mousewheelSensitivity
  129.                       , s = b.isBeginning
  130.                       , n = b.isEnd;
  131.                     if (i >= b.minTranslate() && (i = b.minTranslate()),
  132.                     i <= b.maxTranslate() && (i = b.maxTranslate()),
  133.                     b.setWrapperTransition(0),
  134.                     b.setWrapperTranslate(i),
  135.                     b.updateProgress(),
  136.                     b.updateActiveIndex(),
  137.                     (!s && b.isBeginning || !n && b.isEnd) && b.updateClasses(),
  138.                     b.params.freeModeSticky ? (clearTimeout(b.mousewheel.timeout),
  139.                     b.mousewheel.timeout = setTimeout(function() {
  140.                         b.slideReset()
  141.                     }, 300)) : b.params.lazyLoading && b.lazy && b.lazy.load(),
  142.                     0 === i || i === b.maxTranslate())
  143.                         return
  144.                 } else {
  145.                     if ((new window.Date).getTime() - b.mousewheel.lastScrollTime > 60)
  146.                         if (0 > t)
  147.                             if (b.isEnd && !b.params.loop || b.animating) {
  148.                                 if (b.params.mousewheelReleaseOnEdges)
  149.                                     return !0
  150.                             } else
  151.                                 b.slideNext();
  152.                         else if (b.isBeginning && !b.params.loop || b.animating) {
  153.                             if (b.params.mousewheelReleaseOnEdges)
  154.                                 return !0
  155.                         } else
  156.                             b.slidePrev();
  157.                     b.mousewheel.lastScrollTime = (new window.Date).getTime()
  158.                 }
  159.                 return b.params.autoplay && b.stopAutoplay(),
  160.                 e.preventDefault ? e.preventDefault() : e.returnValue = !1,
  161.                 !1
  162.             }
  163.         }
  164.         function u(e, t) {
  165.             e = a(e);
  166.             var r, i, s, n = b.rtl ? -1 : 1;
  167.             r = e.attr("data-swiper-parallax") || "0",
  168.             i = e.attr("data-swiper-parallax-x"),
  169.             s = e.attr("data-swiper-parallax-y"),
  170.             i || s ? (i = i || "0",
  171.             s = s || "0") : b.isHorizontal() ? (i = r,
  172.             s = "0") : (s = r,
  173.             i = "0"),
  174.             i = i.indexOf("%") >= 0 ? parseInt(i, 10) * t * n + "%" : i * t * n + "px",
  175.             s = s.indexOf("%") >= 0 ? parseInt(s, 10) * t + "%" : s * t + "px",
  176.             e.transform("translate3d(" + i + ", " + s + ",0px)")
  177.         }
  178.         function c(e) {
  179.             return 0 !== e.indexOf("on") && (e = e[0] !== e[0].toUpperCase() ? "on" + e[0].toUpperCase() + e.substring(1) : "on" + e),
  180.             e
  181.         }
  182.         if (!(this instanceof t))
  183.             return new t(e,i);
  184.         var m = {
  185.             direction: "horizontal",
  186.             touchEventsTarget: "container",
  187.             initialSlide: 0,
  188.             speed: 300,
  189.             autoplay: !1,
  190.             autoplayDisableOnInteraction: !0,
  191.             autoplayStopOnLast: !1,
  192.             iOSEdgeSwipeDetection: !1,
  193.             iOSEdgeSwipeThreshold: 20,
  194.             freeMode: !1,
  195.             freeModeMomentum: !0,
  196.             freeModeMomentumRatio: 1,
  197.             freeModeMomentumBounce: !0,
  198.             freeModeMomentumBounceRatio: 1,
  199.             freeModeSticky: !1,
  200.             freeModeMinimumVelocity: .02,
  201.             autoHeight: !1,
  202.             setWrapperSize: !1,
  203.             virtualTranslate: !1,
  204.             effect: "slide",
  205.             coverflow: {
  206.                 rotate: 50,
  207.                 stretch: 0,
  208.                 depth: 100,
  209.                 modifier: 1,
  210.                 slideShadows: !0
  211.             },
  212.             flip: {
  213.                 slideShadows: !0,
  214.                 limitRotation: !0
  215.             },
  216.             cube: {
  217.                 slideShadows: !0,
  218.                 shadow: !0,
  219.                 shadowOffset: 20,
  220.                 shadowScale: .94
  221.             },
  222.             fade: {
  223.                 crossFade: !1
  224.             },
  225.             parallax: !1,
  226.             scrollbar: null ,
  227.             scrollbarHide: !0,
  228.             scrollbarDraggable: !1,
  229.             scrollbarSnapOnRelease: !1,
  230.             keyboardControl: !1,
  231.             mousewheelControl: !1,
  232.             mousewheelReleaseOnEdges: !1,
  233.             mousewheelInvert: !1,
  234.             mousewheelForceToAxis: !1,
  235.             mousewheelSensitivity: 1,
  236.             hashnav: !1,
  237.             breakpoints: void 0,
  238.             spaceBetween: 0,
  239.             slidesPerView: 1,
  240.             slidesPerColumn: 1,
  241.             slidesPerColumnFill: "column",
  242.             slidesPerGroup: 1,
  243.             centeredSlides: !1,
  244.             slidesOffsetBefore: 0,
  245.             slidesOffsetAfter: 0,
  246.             roundLengths: !1,
  247.             touchRatio: 1,
  248.             touchAngle: 45,
  249.             simulateTouch: !0,
  250.             shortSwipes: !0,
  251.             longSwipes: !0,
  252.             longSwipesRatio: .5,
  253.             longSwipesMs: 300,
  254.             followFinger: !0,
  255.             onlyExternal: !1,
  256.             threshold: 0,
  257.             touchMoveStopPropagation: !0,
  258.             uniqueNavElements: !0,
  259.             pagination: null ,
  260.             paginationElement: "span",
  261.             paginationClickable: !1,
  262.             paginationHide: !1,
  263.             paginationBulletRender: null ,
  264.             paginationProgressRender: null ,
  265.             paginationFractionRender: null ,
  266.             paginationCustomRender: null ,
  267.             paginationType: "bullets",
  268.             resistance: !0,
  269.             resistanceRatio: .85,
  270.             nextButton: null ,
  271.             prevButton: null ,
  272.             watchSlidesProgress: !1,
  273.             watchSlidesVisibility: !1,
  274.             grabCursor: !1,
  275.             preventClicks: !0,
  276.             preventClicksPropagation: !0,
  277.             slideToClickedSlide: !1,
  278.             lazyLoading: !1,
  279.             lazyLoadingInPrevNext: !1,
  280.             lazyLoadingInPrevNextAmount: 1,
  281.             lazyLoadingOnTransitionStart: !1,
  282.             preloadImages: !0,
  283.             updateOnImagesReady: !0,
  284.             loop: !1,
  285.             loopAdditionalSlides: 0,
  286.             loopedSlides: null ,
  287.             control: void 0,
  288.             controlInverse: !1,
  289.             controlBy: "slide",
  290.             allowSwipeToPrev: !0,
  291.             allowSwipeToNext: !0,
  292.             swipeHandler: null ,
  293.             noSwiping: !0,
  294.             noSwipingClass: "swiper-no-swiping",
  295.             slideClass: "swiper-slide",
  296.             slideActiveClass: "swiper-slide-active",
  297.             slideVisibleClass: "swiper-slide-visible",
  298.             slideDuplicateClass: "swiper-slide-duplicate",
  299.             slideNextClass: "swiper-slide-next",
  300.             slidePrevClass: "swiper-slide-prev",
  301.             wrapperClass: "swiper-wrapper",
  302.             bulletClass: "swiper-pagination-bullet",
  303.             bulletActiveClass: "swiper-pagination-bullet-active",
  304.             buttonDisabledClass: "swiper-button-disabled",
  305.             paginationCurrentClass: "swiper-pagination-current",
  306.             paginationTotalClass: "swiper-pagination-total",
  307.             paginationHiddenClass: "swiper-pagination-hidden",
  308.             paginationProgressbarClass: "swiper-pagination-progressbar",
  309.             observer: !1,
  310.             observeParents: !1,
  311.             a11y: !1,
  312.             prevSlideMessage: "Previous slide",
  313.             nextSlideMessage: "Next slide",
  314.             firstSlideMessage: "This is the first slide",
  315.             lastSlideMessage: "This is the last slide",
  316.             paginationBulletMessage: "Go to slide {{index}}",
  317.             runCallbacksOnInit: !0
  318.         }
  319.           , h = i && i.virtualTranslate;
  320.         i = i || {};
  321.         var f = {};
  322.         for (var g in i)
  323.             if ("object" != typeof i[g] || null === i[g] || (i[g].nodeType || i[g] === window || i[g] === document || "undefined" != typeof r && i[g]instanceof r || "undefined" != typeof jQuery && i[g]instanceof jQuery))
  324.                 f[g] = i[g];
  325.             else {
  326.                 f[g] = {};
  327.                 for (var v in i[g])
  328.                     f[g][v] = i[g][v]
  329.             }
  330.         for (var w in m)
  331.             if ("undefined" == typeof i[w])
  332.                 i[w] = m[w];
  333.             else if ("object" == typeof i[w])
  334.                 for (var y in m[w])
  335.                     "undefined" == typeof i[w][y] && (i[w][y] = m[w][y]);
  336.         var b = this;
  337.         if (b.params = i,
  338.         b.originalParams = f,
  339.         b.classNames = [],
  340.         "undefined" != typeof a && "undefined" != typeof r && (a = r),
  341.         ("undefined" != typeof a || (a = "undefined" == typeof r ? window.Dom7 || window.Zepto || window.jQuery : r)) && (b.$ = a,
  342.         b.currentBreakpoint = void 0,
  343.         b.getActiveBreakpoint = function() {
  344.             if (!b.params.breakpoints)
  345.                 return !1;
  346.             var e, a = !1, t = [];
  347.             for (e in b.params.breakpoints)
  348.                 b.params.breakpoints.hasOwnProperty(e) && t.push(e);
  349.             t.sort(function(e, a) {
  350.                 return parseInt(e, 10) > parseInt(a, 10)
  351.             });
  352.             for (var r = 0; r < t.length; r++)
  353.                 e = t[r],
  354.                 e >= window.innerWidth && !a && (a = e);
  355.             return a || "max"
  356.         }
  357.         ,
  358.         b.setBreakpoint = function() {
  359.             var e = b.getActiveBreakpoint();
  360.             if (e && b.currentBreakpoint !== e) {
  361.                 var a = e in b.params.breakpoints ? b.params.breakpoints[e] : b.originalParams
  362.                   , t = b.params.loop && a.slidesPerView !== b.params.slidesPerView;
  363.                 for (var r in a)
  364.                     b.params[r] = a[r];
  365.                 b.currentBreakpoint = e,
  366.                 t && b.destroyLoop && b.reLoop(!0)
  367.             }
  368.         }
  369.         ,
  370.         b.params.breakpoints && b.setBreakpoint(),
  371.         b.container = a(e),
  372.         0 !== b.container.length)) {
  373.             if (b.container.length > 1) {
  374.                 var x = [];
  375.                 return b.container.each(function() {
  376.                     x.push(new t(this,i))
  377.                 }),
  378.                 x
  379.             }
  380.             b.container[0].swiper = b,
  381.             b.container.data("swiper", b),
  382.             b.classNames.push("swiper-container-" + b.params.direction),
  383.             b.params.freeMode && b.classNames.push("swiper-container-free-mode"),
  384.             b.support.flexbox || (b.classNames.push("swiper-container-no-flexbox"),
  385.             b.params.slidesPerColumn = 1),
  386.             b.params.autoHeight && b.classNames.push("swiper-container-autoheight"),
  387.             (b.params.parallax || b.params.watchSlidesVisibility) && (b.params.watchSlidesProgress = !0),
  388.             ["cube", "coverflow", "flip"].indexOf(b.params.effect) >= 0 && (b.support.transforms3d ? (b.params.watchSlidesProgress = !0,
  389.             b.classNames.push("swiper-container-3d")) : b.params.effect = "slide"),
  390.             "slide" !== b.params.effect && b.classNames.push("swiper-container-" + b.params.effect),
  391.             "cube" === b.params.effect && (b.params.resistanceRatio = 0,
  392.             b.params.slidesPerView = 1,
  393.             b.params.slidesPerColumn = 1,
  394.             b.params.slidesPerGroup = 1,
  395.             b.params.centeredSlides = !1,
  396.             b.params.spaceBetween = 0,
  397.             b.params.virtualTranslate = !0,
  398.             b.params.setWrapperSize = !1),
  399.             ("fade" === b.params.effect || "flip" === b.params.effect) && (b.params.slidesPerView = 1,
  400.             b.params.slidesPerColumn = 1,
  401.             b.params.slidesPerGroup = 1,
  402.             b.params.watchSlidesProgress = !0,
  403.             b.params.spaceBetween = 0,
  404.             b.params.setWrapperSize = !1,
  405.             "undefined" == typeof h && (b.params.virtualTranslate = !0)),
  406.             b.params.grabCursor && b.support.touch && (b.params.grabCursor = !1),
  407.             b.wrapper = b.container.children("." + b.params.wrapperClass),
  408.             b.params.pagination && (b.paginationContainer = a(b.params.pagination),
  409.             b.params.uniqueNavElements && "string" == typeof b.params.pagination && b.paginationContainer.length > 1 && 1 === b.container.find(b.params.pagination).length && (b.paginationContainer = b.container.find(b.params.pagination)),
  410.             "bullets" === b.params.paginationType && b.params.paginationClickable ? b.paginationContainer.addClass("swiper-pagination-clickable") : b.params.paginationClickable = !1,
  411.             b.paginationContainer.addClass("swiper-pagination-" + b.params.paginationType)),
  412.             (b.params.nextButton || b.params.prevButton) && (b.params.nextButton && (b.nextButton = a(b.params.nextButton),
  413.             b.params.uniqueNavElements && "string" == typeof b.params.nextButton && b.nextButton.length > 1 && 1 === b.container.find(b.params.nextButton).length && (b.nextButton = b.container.find(b.params.nextButton))),
  414.             b.params.prevButton && (b.prevButton = a(b.params.prevButton),
  415.             b.params.uniqueNavElements && "string" == typeof b.params.prevButton && b.prevButton.length > 1 && 1 === b.container.find(b.params.prevButton).length && (b.prevButton = b.container.find(b.params.prevButton)))),
  416.             b.isHorizontal = function() {
  417.                 return "horizontal" === b.params.direction
  418.             }
  419.             ,
  420.             b.rtl = b.isHorizontal() && ("rtl" === b.container[0].dir.toLowerCase() || "rtl" === b.container.css("direction")),
  421.             b.rtl && b.classNames.push("swiper-container-rtl"),
  422.             b.rtl && (b.wrongRTL = "-webkit-box" === b.wrapper.css("display")),
  423.             b.params.slidesPerColumn > 1 && b.classNames.push("swiper-container-multirow"),
  424.             b.device.android && b.classNames.push("swiper-container-android"),
  425.             b.container.addClass(b.classNames.join(" ")),
  426.             b.translate = 0,
  427.             b.progress = 0,
  428.             b.velocity = 0,
  429.             b.lockSwipeToNext = function() {
  430.                 b.params.allowSwipeToNext = !1
  431.             }
  432.             ,
  433.             b.lockSwipeToPrev = function() {
  434.                 b.params.allowSwipeToPrev = !1
  435.             }
  436.             ,
  437.             b.lockSwipes = function() {
  438.                 b.params.allowSwipeToNext = b.params.allowSwipeToPrev = !1
  439.             }
  440.             ,
  441.             b.unlockSwipeToNext = function() {
  442.                 b.params.allowSwipeToNext = !0
  443.             }
  444.             ,
  445.             b.unlockSwipeToPrev = function() {
  446.                 b.params.allowSwipeToPrev = !0
  447.             }
  448.             ,
  449.             b.unlockSwipes = function() {
  450.                 b.params.allowSwipeToNext = b.params.allowSwipeToPrev = !0
  451.             }
  452.             ,
  453.             b.params.grabCursor && (b.container[0].style.cursor = "move",
  454.             b.container[0].style.cursor = "-webkit-grab",
  455.             b.container[0].style.cursor = "-moz-grab",
  456.             b.container[0].style.cursor = "grab"),
  457.             b.imagesToLoad = [],
  458.             b.imagesLoaded = 0,
  459.             b.loadImage = function(e, a, t, r, i) {
  460.                 function s() {
  461.                     i && i()
  462.                 }
  463.                 var n;
  464.                 e.complete && r ? s() : a ? (n = new window.Image,
  465.                 n.onload = s,
  466.                 n.onerror = s,
  467.                 t && (n.srcset = t),
  468.                 a && (n.src = a)) : s()
  469.             }
  470.             ,
  471.             b.preloadImages = function() {
  472.                 function e() {
  473.                     "undefined" != typeof b && null !== b && (void 0 !== b.imagesLoaded && b.imagesLoaded++,
  474.                     b.imagesLoaded === b.imagesToLoad.length && (b.params.updateOnImagesReady && b.update(),
  475.                     b.emit("onImagesReady", b)))
  476.                 }
  477.                 b.imagesToLoad = b.container.find("img");
  478.                 for (var a = 0; a < b.imagesToLoad.length; a++)
  479.                     b.loadImage(b.imagesToLoad[a], b.imagesToLoad[a].currentSrc || b.imagesToLoad[a].getAttribute("src"), b.imagesToLoad[a].srcset || b.imagesToLoad[a].getAttribute("srcset"), !0, e)
  480.             }
  481.             ,
  482.             b.autoplayTimeoutId = void 0,
  483.             b.autoplaying = !1,
  484.             b.autoplayPaused = !1,
  485.             b.startAutoplay = function() {
  486.                 return "undefined" != typeof b.autoplayTimeoutId ? !1 : b.params.autoplay ? b.autoplaying ? !1 : (b.autoplaying = !0,
  487.                 b.emit("onAutoplayStart", b),
  488.                 void n()) : !1
  489.             }
  490.             ,
  491.             b.stopAutoplay = function(e) {
  492.                 b.autoplayTimeoutId && (b.autoplayTimeoutId && clearTimeout(b.autoplayTimeoutId),
  493.                 b.autoplaying = !1,
  494.                 b.autoplayTimeoutId = void 0,
  495.                 b.emit("onAutoplayStop", b))
  496.             }
  497.             ,
  498.             b.pauseAutoplay = function(e) {
  499.                 b.autoplayPaused || (b.autoplayTimeoutId && clearTimeout(b.autoplayTimeoutId),
  500.                 b.autoplayPaused = !0,
  501.                 0 === e ? (b.autoplayPaused = !1,
  502.                 n()) : b.wrapper.transitionEnd(function() {
  503.                     b && (b.autoplayPaused = !1,
  504.                     b.autoplaying ? n() : b.stopAutoplay())
  505.                 }))
  506.             }
  507.             ,
  508.             b.minTranslate = function() {
  509.                 return -b.snapGrid[0]
  510.             }
  511.             ,
  512.             b.maxTranslate = function() {
  513.                 return -b.snapGrid[b.snapGrid.length - 1]
  514.             }
  515.             ,
  516.             b.updateAutoHeight = function() {
  517.                 var e = b.slides.eq(b.activeIndex)[0];
  518.                 if ("undefined" != typeof e) {
  519.                     var a = e.offsetHeight;
  520.                     a && b.wrapper.css("height", a + "px")
  521.                 }
  522.             }
  523.             ,
  524.             b.updateContainerSize = function() {
  525.                 var e, a;
  526.                 e = "undefined" != typeof b.params.width ? b.params.width : b.container[0].clientWidth,
  527.                 a = "undefined" != typeof b.params.height ? b.params.height : b.container[0].clientHeight,
  528.                 0 === e && b.isHorizontal() || 0 === a && !b.isHorizontal() || (e = e - parseInt(b.container.css("padding-left"), 10) - parseInt(b.container.css("padding-right"), 10),
  529.                 a = a - parseInt(b.container.css("padding-top"), 10) - parseInt(b.container.css("padding-bottom"), 10),
  530.                 b.width = e,
  531.                 b.height = a,
  532.                 b.size = b.isHorizontal() ? b.width : b.height)
  533.             }
  534.             ,
  535.             b.updateSlidesSize = function() {
  536.                 b.slides = b.wrapper.children("." + b.params.slideClass),
  537.                 b.snapGrid = [],
  538.                 b.slidesGrid = [],
  539.                 b.slidesSizesGrid = [];
  540.                 var e, a = b.params.spaceBetween, t = -b.params.slidesOffsetBefore, r = 0, i = 0;
  541.                 if ("undefined" != typeof b.size) {
  542.                     "string" == typeof a && a.indexOf("%") >= 0 && (a = parseFloat(a.replace("%", "")) / 100 * b.size),
  543.                     b.virtualSize = -a,
  544.                     b.rtl ? b.slides.css({
  545.                         marginLeft: "",
  546.                         marginTop: ""
  547.                     }) : b.slides.css({
  548.                         marginRight: "",
  549.                         marginBottom: ""
  550.                     });
  551.                     var n;
  552.                     b.params.slidesPerColumn > 1 && (n = Math.floor(b.slides.length / b.params.slidesPerColumn) === b.slides.length / b.params.slidesPerColumn ? b.slides.length : Math.ceil(b.slides.length / b.params.slidesPerColumn) * b.params.slidesPerColumn,
  553.                     "auto" !== b.params.slidesPerView && "row" === b.params.slidesPerColumnFill && (n = Math.max(n, b.params.slidesPerView * b.params.slidesPerColumn)));
  554.                     var o, l = b.params.slidesPerColumn, p = n / l, d = p - (b.params.slidesPerColumn * p - b.slides.length);
  555.                     for (e = 0; e < b.slides.length; e++) {
  556.                         o = 0;
  557.                         var u = b.slides.eq(e);
  558.                         if (b.params.slidesPerColumn > 1) {
  559.                             var c, m, h;
  560.                             "column" === b.params.slidesPerColumnFill ? (m = Math.floor(e / l),
  561.                             h = e - m * l,
  562.                             (m > d || m === d && h === l - 1) && ++h >= l && (h = 0,
  563.                             m++),
  564.                             c = m + h * n / l,
  565.                             u.css({
  566.                                 "-webkit-box-ordinal-group": c,
  567.                                 "-moz-box-ordinal-group": c,
  568.                                 "-ms-flex-order": c,
  569.                                 "-webkit-order": c,
  570.                                 order: c
  571.                             })) : (h = Math.floor(e / p),
  572.                             m = e - h * p),
  573.                             u.css({
  574.                                 "margin-top": 0 !== h && b.params.spaceBetween && b.params.spaceBetween + "px"
  575.                             }).attr("data-swiper-column", m).attr("data-swiper-row", h)
  576.                         }
  577.                         "none" !== u.css("display") && ("auto" === b.params.slidesPerView ? (o = b.isHorizontal() ? u.outerWidth(!0) : u.outerHeight(!0),
  578.                         b.params.roundLengths && (o = s(o))) : (o = (b.size - (b.params.slidesPerView - 1) * a) / b.params.slidesPerView,
  579.                         b.params.roundLengths && (o = s(o)),
  580.                         b.isHorizontal() ? b.slides[e].style.width = o + "px" : b.slides[e].style.height = o + "px"),
  581.                         b.slides[e].swiperSlideSize = o,
  582.                         b.slidesSizesGrid.push(o),
  583.                         b.params.centeredSlides ? (t = t + o / 2 + r / 2 + a,
  584.                         0 === e && (t = t - b.size / 2 - a),
  585.                         Math.abs(t) < .001 && (t = 0),
  586.                         i % b.params.slidesPerGroup === 0 && b.snapGrid.push(t),
  587.                         b.slidesGrid.push(t)) : (i % b.params.slidesPerGroup === 0 && b.snapGrid.push(t),
  588.                         b.slidesGrid.push(t),
  589.                         t = t + o + a),
  590.                         b.virtualSize += o + a,
  591.                         r = o,
  592.                         i++)
  593.                     }
  594.                     b.virtualSize = Math.max(b.virtualSize, b.size) + b.params.slidesOffsetAfter;
  595.                     var f;
  596.                     if (b.rtl && b.wrongRTL && ("slide" === b.params.effect || "coverflow" === b.params.effect) && b.wrapper.css({
  597.                         width: b.virtualSize + b.params.spaceBetween + "px"
  598.                     }),
  599.                     (!b.support.flexbox || b.params.setWrapperSize) && (b.isHorizontal() ? b.wrapper.css({
  600.                         width: b.virtualSize + b.params.spaceBetween + "px"
  601.                     }) : b.wrapper.css({
  602.                         height: b.virtualSize + b.params.spaceBetween + "px"
  603.                     })),
  604.                     b.params.slidesPerColumn > 1 && (b.virtualSize = (o + b.params.spaceBetween) * n,
  605.                     b.virtualSize = Math.ceil(b.virtualSize / b.params.slidesPerColumn) - b.params.spaceBetween,
  606.                     b.wrapper.css({
  607.                         width: b.virtualSize + b.params.spaceBetween + "px"
  608.                     }),
  609.                     b.params.centeredSlides)) {
  610.                         for (f = [],
  611.                         e = 0; e < b.snapGrid.length; e++)
  612.                             b.snapGrid[e] < b.virtualSize + b.snapGrid[0] && f.push(b.snapGrid[e]);
  613.                         b.snapGrid = f
  614.                     }
  615.                     if (!b.params.centeredSlides) {
  616.                         for (f = [],
  617.                         e = 0; e < b.snapGrid.length; e++)
  618.                             b.snapGrid[e] <= b.virtualSize - b.size && f.push(b.snapGrid[e]);
  619.                         b.snapGrid = f,
  620.                         Math.floor(b.virtualSize - b.size) - Math.floor(b.snapGrid[b.snapGrid.length - 1]) > 1 && b.snapGrid.push(b.virtualSize - b.size)
  621.                     }
  622.                     0 === b.snapGrid.length && (b.snapGrid = [0]),
  623.                     0 !== b.params.spaceBetween && (b.isHorizontal() ? b.rtl ? b.slides.css({
  624.                         marginLeft: a + "px"
  625.                     }) : b.slides.css({
  626.                         marginRight: a + "px"
  627.                     }) : b.slides.css({
  628.                         marginBottom: a + "px"
  629.                     })),
  630.                     b.params.watchSlidesProgress && b.updateSlidesOffset()
  631.                 }
  632.             }
  633.             ,
  634.             b.updateSlidesOffset = function() {
  635.                 for (var e = 0; e < b.slides.length; e++)
  636.                     b.slides[e].swiperSlideOffset = b.isHorizontal() ? b.slides[e].offsetLeft : b.slides[e].offsetTop
  637.             }
  638.             ,
  639.             b.updateSlidesProgress = function(e) {
  640.                 if ("undefined" == typeof e && (e = b.translate || 0),
  641.                 0 !== b.slides.length) {
  642.                     "undefined" == typeof b.slides[0].swiperSlideOffset && b.updateSlidesOffset();
  643.                     var a = -e;
  644.                     b.rtl && (a = e),
  645.                     b.slides.removeClass(b.params.slideVisibleClass);
  646.                     for (var t = 0; t < b.slides.length; t++) {
  647.                         var r = b.slides[t]
  648.                           , i = (a - r.swiperSlideOffset) / (r.swiperSlideSize + b.params.spaceBetween);
  649.                         if (b.params.watchSlidesVisibility) {
  650.                             var s = -(a - r.swiperSlideOffset)
  651.                               , n = s + b.slidesSizesGrid[t]
  652.                               , o = s >= 0 && s < b.size || n > 0 && n <= b.size || 0 >= s && n >= b.size;
  653.                             o && b.slides.eq(t).addClass(b.params.slideVisibleClass)
  654.                         }
  655.                         r.progress = b.rtl ? -i : i
  656.                     }
  657.                 }
  658.             }
  659.             ,
  660.             b.updateProgress = function(e) {
  661.                 "undefined" == typeof e && (e = b.translate || 0);
  662.                 var a = b.maxTranslate() - b.minTranslate()
  663.                   , t = b.isBeginning
  664.                   , r = b.isEnd;
  665.                 0 === a ? (b.progress = 0,
  666.                 b.isBeginning = b.isEnd = !0) : (b.progress = (e - b.minTranslate()) / a,
  667.                 b.isBeginning = b.progress <= 0,
  668.                 b.isEnd = b.progress >= 1),
  669.                 b.isBeginning && !t && b.emit("onReachBeginning", b),
  670.                 b.isEnd && !r && b.emit("onReachEnd", b),
  671.                 b.params.watchSlidesProgress && b.updateSlidesProgress(e),
  672.                 b.emit("onProgress", b, b.progress)
  673.             }
  674.             ,
  675.             b.updateActiveIndex = function() {
  676.                 var e, a, t, r = b.rtl ? b.translate : -b.translate;
  677.                 for (a = 0; a < b.slidesGrid.length; a++)
  678.                     "undefined" != typeof b.slidesGrid[a + 1] ? r >= b.slidesGrid[a] && r < b.slidesGrid[a + 1] - (b.slidesGrid[a + 1] - b.slidesGrid[a]) / 2 ? e = a : r >= b.slidesGrid[a] && r < b.slidesGrid[a + 1] && (e = a + 1) : r >= b.slidesGrid[a] && (e = a);
  679.                 (0 > e || "undefined" == typeof e) && (e = 0),
  680.                 t = Math.floor(e / b.params.slidesPerGroup),
  681.                 t >= b.snapGrid.length && (t = b.snapGrid.length - 1),
  682.                 e !== b.activeIndex && (b.snapIndex = t,
  683.                 b.previousIndex = b.activeIndex,
  684.                 b.activeIndex = e,
  685.                 b.updateClasses())
  686.             }
  687.             ,
  688.             b.updateClasses = function() {
  689.                 b.slides.removeClass(b.params.slideActiveClass + " " + b.params.slideNextClass + " " + b.params.slidePrevClass);
  690.                 var e = b.slides.eq(b.activeIndex);
  691.                 e.addClass(b.params.slideActiveClass);
  692.                 var t = e.next("." + b.params.slideClass).addClass(b.params.slideNextClass);
  693.                 b.params.loop && 0 === t.length && b.slides.eq(0).addClass(b.params.slideNextClass);
  694.                 var r = e.prev("." + b.params.slideClass).addClass(b.params.slidePrevClass);
  695.                 if (b.params.loop && 0 === r.length && b.slides.eq(-1).addClass(b.params.slidePrevClass),
  696.                 b.paginationContainer && b.paginationContainer.length > 0) {
  697.                     var i, s = b.params.loop ? Math.ceil((b.slides.length - 2 * b.loopedSlides) / b.params.slidesPerGroup) : b.snapGrid.length;
  698.                     if (b.params.loop ? (i = Math.ceil((b.activeIndex - b.loopedSlides) / b.params.slidesPerGroup),
  699.                     i > b.slides.length - 1 - 2 * b.loopedSlides && (i -= b.slides.length - 2 * b.loopedSlides),
  700.                     i > s - 1 && (i -= s),
  701.                     0 > i && "bullets" !== b.params.paginationType && (i = s + i)) : i = "undefined" != typeof b.snapIndex ? b.snapIndex : b.activeIndex || 0,
  702.                     "bullets" === b.params.paginationType && b.bullets && b.bullets.length > 0 && (b.bullets.removeClass(b.params.bulletActiveClass),
  703.                     b.paginationContainer.length > 1 ? b.bullets.each(function() {
  704.                         a(this).index() === i && a(this).addClass(b.params.bulletActiveClass)
  705.                     }) : b.bullets.eq(i).addClass(b.params.bulletActiveClass)),
  706.                     "fraction" === b.params.paginationType && (b.paginationContainer.find("." + b.params.paginationCurrentClass).text(i + 1),
  707.                     b.paginationContainer.find("." + b.params.paginationTotalClass).text(s)),
  708.                     "progress" === b.params.paginationType) {
  709.                         var n = (i + 1) / s
  710.                           , o = n
  711.                           , l = 1;
  712.                         b.isHorizontal() || (l = n,
  713.                         o = 1),
  714.                         b.paginationContainer.find("." + b.params.paginationProgressbarClass).transform("translate3d(0,0,0) scaleX(" + o + ") scaleY(" + l + ")").transition(b.params.speed)
  715.                     }
  716.                     "custom" === b.params.paginationType && b.params.paginationCustomRender && (b.paginationContainer.html(b.params.paginationCustomRender(b, i + 1, s)),
  717.                     b.emit("onPaginationRendered", b, b.paginationContainer[0]))
  718.                 }
  719.                 b.params.loop || (b.params.prevButton && b.prevButton && b.prevButton.length > 0 && (b.isBeginning ? (b.prevButton.addClass(b.params.buttonDisabledClass),
  720.                 b.params.a11y && b.a11y && b.a11y.disable(b.prevButton)) : (b.prevButton.removeClass(b.params.buttonDisabledClass),
  721.                 b.params.a11y && b.a11y && b.a11y.enable(b.prevButton))),
  722.                 b.params.nextButton && b.nextButton && b.nextButton.length > 0 && (b.isEnd ? (b.nextButton.addClass(b.params.buttonDisabledClass),
  723.                 b.params.a11y && b.a11y && b.a11y.disable(b.nextButton)) : (b.nextButton.removeClass(b.params.buttonDisabledClass),
  724.                 b.params.a11y && b.a11y && b.a11y.enable(b.nextButton))))
  725.             }
  726.             ,
  727.             b.updatePagination = function() {
  728.                 if (b.params.pagination && b.paginationContainer && b.paginationContainer.length > 0) {
  729.                     var e = "";
  730.                     if ("bullets" === b.params.paginationType) {
  731.                         for (var a = b.params.loop ? Math.ceil((b.slides.length - 2 * b.loopedSlides) / b.params.slidesPerGroup) : b.snapGrid.length, t = 0; a > t; t++)
  732.                             e += b.params.paginationBulletRender ? b.params.paginationBulletRender(t, b.params.bulletClass) : "<" + b.params.paginationElement + ' class="' + b.params.bulletClass + '"> + b.params.paginationElement + ">";
  733.                         b.paginationContainer.html(e),
  734.                         b.bullets = b.paginationContainer.find("." + b.params.bulletClass),
  735.                         b.params.paginationClickable && b.params.a11y && b.a11y && b.a11y.initPagination()
  736.                     }
  737.                     "fraction" === b.params.paginationType && (e = b.params.paginationFractionRender ? b.params.paginationFractionRender(b, b.params.paginationCurrentClass, b.params.paginationTotalClass) : '+ b.params.paginationCurrentClass + '"> / + b.params.paginationTotalClass + '">',
  738.                     b.paginationContainer.html(e)),
  739.                     "progress" === b.params.paginationType && (e = b.params.paginationProgressRender ? b.params.paginationProgressRender(b, b.params.paginationProgressbarClass) : '+ b.params.paginationProgressbarClass + '">',
  740.                     b.paginationContainer.html(e)),
  741.                     "custom" !== b.params.paginationType && b.emit("onPaginationRendered", b, b.paginationContainer[0])
  742.                 }
  743.             }
  744.             ,
  745.             b.update = function(e) {
  746.                 function a() {
  747.                     r = Math.min(Math.max(b.translate, b.maxTranslate()), b.minTranslate()),
  748.                     b.setWrapperTranslate(r),
  749.                     b.updateActiveIndex(),
  750.                     b.updateClasses()
  751.                 }
  752.                 if (b.updateContainerSize(),
  753.                 b.updateSlidesSize(),
  754.                 b.updateProgress(),
  755.                 b.updatePagination(),
  756.                 b.updateClasses(),
  757.                 b.params.scrollbar && b.scrollbar && b.scrollbar.set(),
  758.                 e) {
  759.                     var t, r;
  760.                     b.controller && b.controller.spline && (b.controller.spline = void 0),
  761.                     b.params.freeMode ? (a(),
  762.                     b.params.autoHeight && b.updateAutoHeight()) : (t = ("auto" === b.params.slidesPerView || b.params.slidesPerView > 1) && b.isEnd && !b.params.centeredSlides ? b.slideTo(b.slides.length - 1, 0, !1, !0) : b.slideTo(b.activeIndex, 0, !1, !0),
  763.                     t || a())
  764.                 } else
  765.                     b.params.autoHeight && b.updateAutoHeight()
  766.             }
  767.             ,
  768.             b.onResize = function(e) {
  769.                 b.params.breakpoints && b.setBreakpoint();
  770.                 var a = b.params.allowSwipeToPrev
  771.                   , t = b.params.allowSwipeToNext;
  772.                 b.params.allowSwipeToPrev = b.params.allowSwipeToNext = !0,
  773.                 b.updateContainerSize(),
  774.                 b.updateSlidesSize(),
  775.                 ("auto" === b.params.slidesPerView || b.params.freeMode || e) && b.updatePagination(),
  776.                 b.params.scrollbar && b.scrollbar && b.scrollbar.set(),
  777.                 b.controller && b.controller.spline && (b.controller.spline = void 0);
  778.                 var r = !1;
  779.                 if (b.params.freeMode) {
  780.                     var i = Math.min(Math.max(b.translate, b.maxTranslate()), b.minTranslate());
  781.                     b.setWrapperTranslate(i),
  782.                     b.updateActiveIndex(),
  783.                     b.updateClasses(),
  784.                     b.params.autoHeight && b.updateAutoHeight()
  785.                 } else
  786.                     b.updateClasses(),
  787.                     r = ("auto" === b.params.slidesPerView || b.params.slidesPerView > 1) && b.isEnd && !b.params.centeredSlides ? b.slideTo(b.slides.length - 1, 0, !1, !0) : b.slideTo(b.activeIndex, 0, !1, !0);
  788.                 b.params.lazyLoading && !r && b.lazy && b.lazy.load(),
  789.                 b.params.allowSwipeToPrev = a,
  790.                 b.params.allowSwipeToNext = t
  791.             }
  792.             ;
  793.             var T = ["mousedown", "mousemove", "mouseup"];
  794.             window.navigator.pointerEnabled ? T = ["pointerdown", "pointermove", "pointerup"] : window.navigator.msPointerEnabled && (T = ["MSPointerDown", "MSPointerMove", "MSPointerUp"]),
  795.             b.touchEvents = {
  796.                 start: b.support.touch || !b.params.simulateTouch ? "touchstart" : T[0],
  797.                 move: b.support.touch || !b.params.simulateTouch ? "touchmove" : T[1],
  798.                 end: b.support.touch || !b.params.simulateTouch ? "touchend" : T[2]
  799.             },
  800.             (window.navigator.pointerEnabled || window.navigator.msPointerEnabled) && ("container" === b.params.touchEventsTarget ? b.container : b.wrapper).addClass("swiper-wp8-" + b.params.direction),
  801.             b.initEvents = function(e) {
  802.                 var a = e ? "off" : "on"
  803.                   , t = e ? "removeEventListener" : "addEventListener"
  804.                   , r = "container" === b.params.touchEventsTarget ? b.container[0] : b.wrapper[0]
  805.                   , s = b.support.touch ? r : document
  806.                   , n = b.params.nested ? !0 : !1;
  807.                 b.browser.ie ? (r[t](b.touchEvents.start, b.onTouchStart, !1),
  808.                 s[t](b.touchEvents.move, b.onTouchMove, n),
  809.                 s[t](b.touchEvents.end, b.onTouchEnd, !1)) : (b.support.touch && (r[t](b.touchEvents.start, b.onTouchStart, !1),
  810.                 r[t](b.touchEvents.move, b.onTouchMove, n),
  811.                 r[t](b.touchEvents.end, b.onTouchEnd, !1)),
  812.                 !i.simulateTouch || b.device.ios || b.device.android || (r[t]("mousedown", b.onTouchStart, !1),
  813.                 document[t]("mousemove", b.onTouchMove, n),
  814.                 document[t]("mouseup", b.onTouchEnd, !1))),
  815.                 window[t]("resize", b.onResize),
  816.                 b.params.nextButton && b.nextButton && b.nextButton.length > 0 && (b.nextButton[a]("click", b.onClickNext),
  817.                 b.params.a11y && b.a11y && b.nextButton[a]("keydown", b.a11y.onEnterKey)),
  818.                 b.params.prevButton && b.prevButton && b.prevButton.length > 0 && (b.prevButton[a]("click", b.onClickPrev),
  819.                 b.params.a11y && b.a11y && b.prevButton[a]("keydown", b.a11y.onEnterKey)),
  820.                 b.params.pagination && b.params.paginationClickable && (b.paginationContainer[a]("click", "." + b.params.bulletClass, b.onClickIndex),
  821.                 b.params.a11y && b.a11y && b.paginationContainer[a]("keydown", "." + b.params.bulletClass, b.a11y.onEnterKey)),
  822.                 (b.params.preventClicks || b.params.preventClicksPropagation) && r[t]("click", b.preventClicks, !0)
  823.             }
  824.             ,
  825.             b.attachEvents = function() {
  826.                 b.initEvents()
  827.             }
  828.             ,
  829.             b.detachEvents = function() {
  830.                 b.initEvents(!0)
  831.             }
  832.             ,
  833.             b.allowClick = !0,
  834.             b.preventClicks = function(e) {
  835.                 b.allowClick || (b.params.preventClicks && e.preventDefault(),
  836.                 b.params.preventClicksPropagation && b.animating && (e.stopPropagation(),
  837.                 e.stopImmediatePropagation()))
  838.             }
  839.             ,
  840.             b.onClickNext = function(e) {
  841.                 e.preventDefault(),
  842.                 (!b.isEnd || b.params.loop) && b.slideNext()
  843.             }
  844.             ,
  845.             b.onClickPrev = function(e) {
  846.                 e.preventDefault(),
  847.                 (!b.isBeginning || b.params.loop) && b.slidePrev()
  848.             }
  849.             ,
  850.             b.onClickIndex = function(e) {
  851.                 e.preventDefault();
  852.                 var t = a(this).index() * b.params.slidesPerGroup;
  853.                 b.params.loop && (t += b.loopedSlides),
  854.                 b.slideTo(t)
  855.             }
  856.             ,
  857.             b.updateClickedSlide = function(e) {
  858.                 var t = o(e, "." + b.params.slideClass)
  859.                   , r = !1;
  860.                 if (t)
  861.                     for (var i = 0; i < b.slides.length; i++)
  862.                         b.slides[i] === t && (r = !0);
  863.                 if (!t || !r)
  864.                     return b.clickedSlide = void 0,
  865.                     void (b.clickedIndex = void 0);
  866.                 if (b.clickedSlide = t,
  867.                 b.clickedIndex = a(t).index(),
  868.                 b.params.slideToClickedSlide && void 0 !== b.clickedIndex && b.clickedIndex !== b.activeIndex) {
  869.                     var s, n = b.clickedIndex;
  870.                     if (b.params.loop) {
  871.                         if (b.animating)
  872.                             return;
  873.                         s = a(b.clickedSlide).attr("data-swiper-slide-index"),
  874.                         b.params.centeredSlides ? n < b.loopedSlides - b.params.slidesPerView / 2 || n > b.slides.length - b.loopedSlides + b.params.slidesPerView / 2 ? (b.fixLoop(),
  875.                         n = b.wrapper.children("." + b.params.slideClass + '[data-swiper-slide-index="' + s + '"]:not(.swiper-slide-duplicate)').eq(0).index(),
  876.                         setTimeout(function() {
  877.                             b.slideTo(n)
  878.                         }, 0)) : b.slideTo(n) : n > b.slides.length - b.params.slidesPerView ? (b.fixLoop(),
  879.                         n = b.wrapper.children("." + b.params.slideClass + '[data-swiper-slide-index="' + s + '"]:not(.swiper-slide-duplicate)').eq(0).index(),
  880.                         setTimeout(function() {
  881.                             b.slideTo(n)
  882.                         }, 0)) : b.slideTo(n)
  883.                     } else
  884.                         b.slideTo(n)
  885.                 }
  886.             }
  887.             ;
  888.             var S, C, z, M, E, P, k, I, L, B, D = "input, select, textarea, button", H = Date.now(), A = [];
  889.             b.animating = !1,
  890.             b.touches = {
  891.                 startX: 0,
  892.                 startY: 0,
  893.                 currentX: 0,
  894.                 currentY: 0,
  895.                 diff: 0
  896.             };
  897.             var G, O;
  898.             if (b.onTouchStart = function(e) {
  899.                 if (e.originalEvent && (e = e.originalEvent),
  900.                 G = "touchstart" === e.type,
  901.                 G || !("which"in e) || 3 !== e.which) {
  902.                     if (b.params.noSwiping && o(e, "." + b.params.noSwipingClass))
  903.                         return void (b.allowClick = !0);
  904.                     if (!b.params.swipeHandler || o(e, b.params.swipeHandler)) {
  905.                         var t = b.touches.currentX = "touchstart" === e.type ? e.targetTouches[0].pageX : e.pageX
  906.                           , r = b.touches.currentY = "touchstart" === e.type ? e.targetTouches[0].pageY : e.pageY;
  907.                         if (!(b.device.ios && b.params.iOSEdgeSwipeDetection && t <= b.params.iOSEdgeSwipeThreshold)) {
  908.                             if (S = !0,
  909.                             C = !1,
  910.                             z = !0,
  911.                             E = void 0,
  912.                             O = void 0,
  913.                             b.touches.startX = t,
  914.                             b.touches.startY = r,
  915.                             M = Date.now(),
  916.                             b.allowClick = !0,
  917.                             b.updateContainerSize(),
  918.                             b.swipeDirection = void 0,
  919.                             b.params.threshold > 0 && (I = !1),
  920.                             "touchstart" !== e.type) {
  921.                                 var i = !0;
  922.                                 a(e.target).is(D) && (i = !1),
  923.                                 document.activeElement && a(document.activeElement).is(D) && document.activeElement.blur(),
  924.                                 i && e.preventDefault()
  925.                             }
  926.                             b.emit("onTouchStart", b, e)
  927.                         }
  928.                     }
  929.                 }
  930.             }
  931.             ,
  932.             b.onTouchMove = function(e) {
  933.                 if (e.originalEvent && (e = e.originalEvent),
  934.                 !G || "mousemove" !== e.type) {
  935.                     if (e.preventedByNestedSwiper)
  936.                         return b.touches.startX = "touchmove" === e.type ? e.targetTouches[0].pageX : e.pageX,
  937.                         void (b.touches.startY = "touchmove" === e.type ? e.targetTouches[0].pageY : e.pageY);
  938.                     if (b.params.onlyExternal)
  939.                         return b.allowClick = !1,
  940.                         void (S && (b.touches.startX = b.touches.currentX = "touchmove" === e.type ? e.targetTouches[0].pageX : e.pageX,
  941.                         b.touches.startY = b.touches.currentY = "touchmove" === e.type ? e.targetTouches[0].pageY : e.pageY,
  942.                         M = Date.now()));
  943.                     if (G && document.activeElement && e.target === document.activeElement && a(e.target).is(D))
  944.                         return C = !0,
  945.                         void (b.allowClick = !1);
  946.                     if (z && b.emit("onTouchMove", b, e),
  947.                     !(e.targetTouches && e.targetTouches.length > 1)) {
  948.                         if (b.touches.currentX = "touchmove" === e.type ? e.targetTouches[0].pageX : e.pageX,
  949.                         b.touches.currentY = "touchmove" === e.type ? e.targetTouches[0].pageY : e.pageY,
  950.                         "undefined" == typeof E) {
  951.                             var t = 180 * Math.atan2(Math.abs(b.touches.currentY - b.touches.startY), Math.abs(b.touches.currentX - b.touches.startX)) / Math.PI;
  952.                             E = b.isHorizontal() ? t > b.params.touchAngle : 90 - t > b.params.touchAngle
  953.                         }
  954.                         if (E && b.emit("onTouchMoveOpposite", b, e),
  955.                         "undefined" == typeof O && b.browser.ieTouch && (b.touches.currentX !== b.touches.startX || b.touches.currentY !== b.touches.startY) && (O = !0),
  956.                         S) {
  957.                             if (E)
  958.                                 return void (S = !1);
  959.                             if (O || !b.browser.ieTouch) {
  960.                                 b.allowClick = !1,
  961.                                 b.emit("onSliderMove", b, e),
  962.                                 e.preventDefault(),
  963.                                 b.params.touchMoveStopPropagation && !b.params.nested && e.stopPropagation(),
  964.                                 C || (i.loop && b.fixLoop(),
  965.                                 k = b.getWrapperTranslate(),
  966.                                 b.setWrapperTransition(0),
  967.                                 b.animating && b.wrapper.trigger("webkitTransitionEnd transitionend oTransitionEnd MSTransitionEnd msTransitionEnd"),
  968.                                 b.params.autoplay && b.autoplaying && (b.params.autoplayDisableOnInteraction ? b.stopAutoplay() : b.pauseAutoplay()),
  969.                                 B = !1,
  970.                                 b.params.grabCursor && (b.container[0].style.cursor = "move",
  971.                                 b.container[0].style.cursor = "-webkit-grabbing",
  972.                                 b.container[0].style.cursor = "-moz-grabbin",
  973.                                 b.container[0].style.cursor = "grabbing")),
  974.                                 C = !0;
  975.                                 var r = b.touches.diff = b.isHorizontal() ? b.touches.currentX - b.touches.startX : b.touches.currentY - b.touches.startY;
  976.                                 r *= b.params.touchRatio,
  977.                                 b.rtl && (r = -r),
  978.                                 b.swipeDirection = r > 0 ? "prev" : "next",
  979.                                 P = r + k;
  980.                                 var s = !0;
  981.                                 if (r > 0 && P > b.minTranslate() ? (s = !1,
  982.                                 b.params.resistance && (P = b.minTranslate() - 1 + Math.pow(-b.minTranslate() + k + r, b.params.resistanceRatio))) : 0 > r && P < b.maxTranslate() && (s = !1,
  983.                                 b.params.resistance && (P = b.maxTranslate() + 1 - Math.pow(b.maxTranslate() - k - r, b.params.resistanceRatio))),
  984.                                 s && (e.preventedByNestedSwiper = !0),
  985.                                 !b.params.allowSwipeToNext && "next" === b.swipeDirection && k > P && (P = k),
  986.                                 !b.params.allowSwipeToPrev && "prev" === b.swipeDirection && P > k && (P = k),
  987.                                 b.params.followFinger) {
  988.                                     if (b.params.threshold > 0) {
  989.                                         if (!(Math.abs(r) > b.params.threshold || I))
  990.                                             return void (P = k);
  991.                                         if (!I)
  992.                                             return I = !0,
  993.                                             b.touches.startX = b.touches.currentX,
  994.                                             b.touches.startY = b.touches.currentY,
  995.                                             P = k,
  996.                                             void (b.touches.diff = b.isHorizontal() ? b.touches.currentX - b.touches.startX : b.touches.currentY - b.touches.startY)
  997.                                     }
  998.                                     (b.params.freeMode || b.params.watchSlidesProgress) && b.updateActiveIndex(),
  999.                                     b.params.freeMode && (0 === A.length && A.push({
  1000.                                         position: b.touches[b.isHorizontal() ? "startX" : "startY"],
  1001.                                         time: M
  1002.                                     }),
  1003.                                     A.push({
  1004.                                         position: b.touches[b.isHorizontal() ? "currentX" : "currentY"],
  1005.                                         time: (new window.Date).getTime()
  1006.                                     })),
  1007.                                     b.updateProgress(P),
  1008.                                     b.setWrapperTranslate(P)
  1009.                                 }
  1010.                             }
  1011.                         }
  1012.                     }
  1013.                 }
  1014.             }
  1015.             ,
  1016.             b.onTouchEnd = function(e) {
  1017.                 if (e.originalEvent && (e = e.originalEvent),
  1018.                 z && b.emit("onTouchEnd", b, e),
  1019.                 z = !1,
  1020.                 S) {
  1021.                     b.params.grabCursor && C && S && (b.container[0].style.cursor = "move",
  1022.                     b.container[0].style.cursor = "-webkit-grab",
  1023.                     b.container[0].style.cursor = "-moz-grab",
  1024.                     b.container[0].style.cursor = "grab");
  1025.                     var t = Date.now()
  1026.                       , r = t - M;
  1027.                     if (b.allowClick && (b.updateClickedSlide(e),
  1028.                     b.emit("onTap", b, e),
  1029.                     300 > r && t - H > 300 && (L && clearTimeout(L),
  1030.                     L = setTimeout(function() {
  1031.                         b && (b.params.paginationHide && b.paginationContainer.length > 0 && !a(e.target).hasClass(b.params.bulletClass) && b.paginationContainer.toggleClass(b.params.paginationHiddenClass),
  1032.                         b.emit("onClick", b, e))
  1033.                     }, 300)),
  1034.                     300 > r && 300 > t - H && (L && clearTimeout(L),
  1035.                     b.emit("onDoubleTap", b, e))),
  1036.                     H = Date.now(),
  1037.                     setTimeout(function() {
  1038.                         b && (b.allowClick = !0)
  1039.                     }, 0),
  1040.                     !S || !C || !b.swipeDirection || 0 === b.touches.diff || P === k)
  1041.                         return void (S = C = !1);
  1042.                     S = C = !1;
  1043.                     var i;
  1044.                     if (i = b.params.followFinger ? b.rtl ? b.translate : -b.translate : -P,
  1045.                     b.params.freeMode) {
  1046.                         if (i < -b.minTranslate())
  1047.                             return void b.slideTo(b.activeIndex);
  1048.                         if (i > -b.maxTranslate())
  1049.                             return void (b.slides.length < b.snapGrid.length ? b.slideTo(b.snapGrid.length - 1) : b.slideTo(b.slides.length - 1));
  1050.                         if (b.params.freeModeMomentum) {
  1051.                             if (A.length > 1) {
  1052.                                 var s = A.pop()
  1053.                                   , n = A.pop()
  1054.                                   , o = s.position - n.position
  1055.                                   , l = s.time - n.time;
  1056.                                 b.velocity = o / l,
  1057.                                 b.velocity = b.velocity / 2,
  1058.                                 Math.abs(b.velocity) < b.params.freeModeMinimumVelocity && (b.velocity = 0),
  1059.                                 (l > 150 || (new window.Date).getTime() - s.time > 300) && (b.velocity = 0)
  1060.                             } else
  1061.                                 b.velocity = 0;
  1062.                             A.length = 0;
  1063.                             var p = 1e3 * b.params.freeModeMomentumRatio
  1064.                               , d = b.velocity * p
  1065.                               , u = b.translate + d;
  1066.                             b.rtl && (u = -u);
  1067.                             var c, m = !1, h = 20 * Math.abs(b.velocity) * b.params.freeModeMomentumBounceRatio;
  1068.                             if (u < b.maxTranslate())
  1069.                                 b.params.freeModeMomentumBounce ? (u + b.maxTranslate() < -h && (u = b.maxTranslate() - h),
  1070.                                 c = b.maxTranslate(),
  1071.                                 m = !0,
  1072.                                 B = !0) : u = b.maxTranslate();
  1073.                             else if (u > b.minTranslate())
  1074.                                 b.params.freeModeMomentumBounce ? (u - b.minTranslate() > h && (u = b.minTranslate() + h),
  1075.                                 c = b.minTranslate(),
  1076.                                 m = !0,
  1077.                                 B = !0) : u = b.minTranslate();
  1078.                             else if (b.params.freeModeSticky) {
  1079.                                 var f, g = 0;
  1080.                                 for (g = 0; g < b.snapGrid.length; g += 1)
  1081.                                     if (b.snapGrid[g] > -u) {
  1082.                                         f = g;
  1083.                                         break
  1084.                                     }
  1085.                                 u = Math.abs(b.snapGrid[f] - u) < Math.abs(b.snapGrid[f - 1] - u) || "next" === b.swipeDirection ? b.snapGrid[f] : b.snapGrid[f - 1],
  1086.                                 b.rtl || (u = -u)
  1087.                             }
  1088.                             if (0 !== b.velocity)
  1089.                                 p = b.rtl ? Math.abs((-u - b.translate) / b.velocity) : Math.abs((u - b.translate) / b.velocity);
  1090.                             else if (b.params.freeModeSticky)
  1091.                                 return void b.slideReset();
  1092.                             b.params.freeModeMomentumBounce && m ? (b.updateProgress(c),
  1093.                             b.setWrapperTransition(p),
  1094.                             b.setWrapperTranslate(u),
  1095.                             b.onTransitionStart(),
  1096.                             b.animating = !0,
  1097.                             b.wrapper.transitionEnd(function() {
  1098.                                 b && B && (b.emit("onMomentumBounce", b),
  1099.                                 b.setWrapperTransition(b.params.speed),
  1100.                                 b.setWrapperTranslate(c),
  1101.                                 b.wrapper.transitionEnd(function() {
  1102.                                     b && b.onTransitionEnd()
  1103.                                 }))
  1104.                             })) : b.velocity ? (b.updateProgress(u),
  1105.                             b.setWrapperTransition(p),
  1106.                             b.setWrapperTranslate(u),
  1107.                             b.onTransitionStart(),
  1108.                             b.animating || (b.animating = !0,
  1109.                             b.wrapper.transitionEnd(function() {
  1110.                                 b && b.onTransitionEnd()
  1111.                             }))) : b.updateProgress(u),
  1112.                             b.updateActiveIndex()
  1113.                         }
  1114.                         return void ((!b.params.freeModeMomentum || r >= b.params.longSwipesMs) && (b.updateProgress(),
  1115.                         b.updateActiveIndex()))
  1116.                     }
  1117.                     var v, w = 0, y = b.slidesSizesGrid[0];
  1118.                     for (v = 0; v < b.slidesGrid.length; v += b.params.slidesPerGroup)
  1119.                         "undefined" != typeof b.slidesGrid[v + b.params.slidesPerGroup] ? i >= b.slidesGrid[v] && i < b.slidesGrid[v + b.params.slidesPerGroup] && (w = v,
  1120.                         y = b.slidesGrid[v + b.params.slidesPerGroup] - b.slidesGrid[v]) : i >= b.slidesGrid[v] && (w = v,
  1121.                         y = b.slidesGrid[b.slidesGrid.length - 1] - b.slidesGrid[b.slidesGrid.length - 2]);
  1122.                     var x = (i - b.slidesGrid[w]) / y;
  1123.                     if (r > b.params.longSwipesMs) {
  1124.                         if (!b.params.longSwipes)
  1125.                             return void b.slideTo(b.activeIndex);
  1126.                         "next" === b.swipeDirection && (x >= b.params.longSwipesRatio ? b.slideTo(w + b.params.slidesPerGroup) : b.slideTo(w)),
  1127.                         "prev" === b.swipeDirection && (x > 1 - b.params.longSwipesRatio ? b.slideTo(w + b.params.slidesPerGroup) : b.slideTo(w))
  1128.                     } else {
  1129.                         if (!b.params.shortSwipes)
  1130.                             return void b.slideTo(b.activeIndex);
  1131.                         "next" === b.swipeDirection && b.slideTo(w + b.params.slidesPerGroup),
  1132.                         "prev" === b.swipeDirection && b.slideTo(w)
  1133.                     }
  1134.                 }
  1135.             }
  1136.             ,
  1137.             b._slideTo = function(e, a) {
  1138.                 return b.slideTo(e, a, !0, !0)
  1139.             }
  1140.             ,
  1141.             b.slideTo = function(e, a, t, r) {
  1142.                 "undefined" == typeof t && (t = !0),
  1143.                 "undefined" == typeof e && (e = 0),
  1144.                 0 > e && (e = 0),
  1145.                 b.snapIndex = Math.floor(e / b.params.slidesPerGroup),
  1146.                 b.snapIndex >= b.snapGrid.length && (b.snapIndex = b.snapGrid.length - 1);
  1147.                 var i = -b.snapGrid[b.snapIndex];
  1148.                 b.params.autoplay && b.autoplaying && (r || !b.params.autoplayDisableOnInteraction ? b.pauseAutoplay(a) : b.stopAutoplay()),
  1149.                 b.updateProgress(i);
  1150.                 for (var s = 0; s < b.slidesGrid.length; s++)
  1151.                     -Math.floor(100 * i) >= Math.floor(100 * b.slidesGrid[s]) && (e = s);
  1152.                 return !b.params.allowSwipeToNext && i < b.translate && i < b.minTranslate() ? !1 : !b.params.allowSwipeToPrev && i > b.translate && i > b.maxTranslate() && (b.activeIndex || 0) !== e ? !1 : ("undefined" == typeof a && (a = b.params.speed),
  1153.                 b.previousIndex = b.activeIndex || 0,
  1154.                 b.activeIndex = e,
  1155.                 b.rtl && -i === b.translate || !b.rtl && i === b.translate ? (b.params.autoHeight && b.updateAutoHeight(),
  1156.                 b.updateClasses(),
  1157.                 "slide" !== b.params.effect && b.setWrapperTranslate(i),
  1158.                 !1) : (b.updateClasses(),
  1159.                 b.onTransitionStart(t),
  1160.                 0 === a ? (b.setWrapperTranslate(i),
  1161.                 b.setWrapperTransition(0),
  1162.                 b.onTransitionEnd(t)) : (b.setWrapperTranslate(i),
  1163.                 b.setWrapperTransition(a),
  1164.                 b.animating || (b.animating = !0,
  1165.                 b.wrapper.transitionEnd(function() {
  1166.                     b && b.onTransitionEnd(t)
  1167.                 }))),
  1168.                 !0))
  1169.             }
  1170.             ,
  1171.             b.onTransitionStart = function(e) {
  1172.                 "undefined" == typeof e && (e = !0),
  1173.                 b.params.autoHeight && b.updateAutoHeight(),
  1174.                 b.lazy && b.lazy.onTransitionStart(),
  1175.                 e && (b.emit("onTransitionStart", b),
  1176.                 b.activeIndex !== b.previousIndex && (b.emit("onSlideChangeStart", b),
  1177.                 b.activeIndex > b.previousIndex ? b.emit("onSlideNextStart", b) : b.emit("onSlidePrevStart", b)))
  1178.             }
  1179.             ,
  1180.             b.onTransitionEnd = function(e) {
  1181.                 b.animating = !1,
  1182.                 b.setWrapperTransition(0),
  1183.                 "undefined" == typeof e && (e = !0),
  1184.                 b.lazy && b.lazy.onTransitionEnd(),
  1185.                 e && (b.emit("onTransitionEnd", b),
  1186.                 b.activeIndex !== b.previousIndex && (b.emit("onSlideChangeEnd", b),
  1187.                 b.activeIndex > b.previousIndex ? b.emit("onSlideNextEnd", b) : b.emit("onSlidePrevEnd", b))),
  1188.                 b.params.hashnav && b.hashnav && b.hashnav.setHash()
  1189.             }
  1190.             ,
  1191.             b.slideNext = function(e, a, t) {
  1192.                 if (b.params.loop) {
  1193.                     if (b.animating)
  1194.                         return !1;
  1195.                     b.fixLoop();
  1196.                     b.container[0].clientLeft;
  1197.                     return b.slideTo(b.activeIndex + b.params.slidesPerGroup, a, e, t)
  1198.                 }
  1199.                 return b.slideTo(b.activeIndex + b.params.slidesPerGroup, a, e, t)
  1200.             }
  1201.             ,
  1202.             b._slideNext = function(e) {
  1203.                 return b.slideNext(!0, e, !0)
  1204.             }
  1205.             ,
  1206.             b.slidePrev = function(e, a, t) {
  1207.                 if (b.params.loop) {
  1208.                     if (b.animating)
  1209.                         return !1;
  1210.                     b.fixLoop();
  1211.                     b.container[0].clientLeft;
  1212.                     return b.slideTo(b.activeIndex - 1, a, e, t)
  1213.                 }
  1214.                 return b.slideTo(b.activeIndex - 1, a, e, t)
  1215.             }
  1216.             ,
  1217.             b._slidePrev = function(e) {
  1218.                 return b.slidePrev(!0, e, !0)
  1219.             }
  1220.             ,
  1221.             b.slideReset = function(e, a, t) {
  1222.                 return b.slideTo(b.activeIndex, a, e)
  1223.             }
  1224.             ,
  1225.             b.setWrapperTransition = function(e, a) {
  1226.                 b.wrapper.transition(e),
  1227.                 "slide" !== b.params.effect && b.effects[b.params.effect] && b.effects[b.params.effect].setTransition(e),
  1228.                 b.params.parallax && b.parallax && b.parallax.setTransition(e),
  1229.                 b.params.scrollbar && b.scrollbar && b.scrollbar.setTransition(e),
  1230.                 b.params.control && b.controller && b.controller.setTransition(e, a),
  1231.                 b.emit("onSetTransition", b, e)
  1232.             }
  1233.             ,
  1234.             b.setWrapperTranslate = function(e, a, t) {
  1235.                 var r = 0
  1236.                   , i = 0
  1237.                   , n = 0;
  1238.                 b.isHorizontal() ? r = b.rtl ? -e : e : i = e,
  1239.                 b.params.roundLengths && (r = s(r),
  1240.                 i = s(i)),
  1241.                 b.params.virtualTranslate || (b.support.transforms3d ? b.wrapper.transform("translate3d(" + r + "px, " + i + "px, " + n + "px)") : b.wrapper.transform("translate(" + r + "px, " + i + "px)")),
  1242.                 b.translate = b.isHorizontal() ? r : i;
  1243.                 var o, l = b.maxTranslate() - b.minTranslate();
  1244.                 o = 0 === l ? 0 : (e - b.minTranslate()) / l,
  1245.                 o !== b.progress && b.updateProgress(e),
  1246.                 a && b.updateActiveIndex(),
  1247.                 "slide" !== b.params.effect && b.effects[b.params.effect] && b.effects[b.params.effect].setTranslate(b.translate),
  1248.                 b.params.parallax && b.parallax && b.parallax.setTranslate(b.translate),
  1249.                 b.params.scrollbar && b.scrollbar && b.scrollbar.setTranslate(b.translate),
  1250.                 b.params.control && b.controller && b.controller.setTranslate(b.translate, t),
  1251.                 b.emit("onSetTranslate", b, b.translate)
  1252.             }
  1253.             ,
  1254.             b.getTranslate = function(e, a) {
  1255.                 var t, r, i, s;
  1256.                 return "undefined" == typeof a && (a = "x"),
  1257.                 b.params.virtualTranslate ? b.rtl ? -b.translate : b.translate : (i = window.getComputedStyle(e, null ),
  1258.                 window.WebKitCSSMatrix ? (r = i.transform || i.webkitTransform,
  1259.                 r.split(",").length > 6 && (r = r.split(", ").map(function(e) {
  1260.                     return e.replace(",", ".")
  1261.                 }).join(", ")),
  1262.                 s = new window.WebKitCSSMatrix("none" === r ? "" : r)) : (s = i.MozTransform || i.OTransform || i.MsTransform || i.msTransform || i.transform || i.getPropertyValue("transform").replace("translate(", "matrix(1, 0, 0, 1,"),
  1263.                 t = s.toString().split(",")),
  1264.                 "x" === a && (r = window.WebKitCSSMatrix ? s.m41 : 16 === t.length ? parseFloat(t[12]) : parseFloat(t[4])),
  1265.                 "y" === a && (r = window.WebKitCSSMatrix ? s.m42 : 16 === t.length ? parseFloat(t[13]) : parseFloat(t[5])),
  1266.                 b.rtl && r && (r = -r),
  1267.                 r || 0)
  1268.             }
  1269.             ,
  1270.             b.getWrapperTranslate = function(e) {
  1271.                 return "undefined" == typeof e && (e = b.isHorizontal() ? "x" : "y"),
  1272.                 b.getTranslate(b.wrapper[0], e)
  1273.             }
  1274.             ,
  1275.             b.observers = [],
  1276.             b.initObservers = function() {
  1277.                 if (b.params.observeParents)
  1278.                     for (var e = b.container.parents(), a = 0; a < e.length; a++)
  1279.                         l(e[a]);
  1280.                 l(b.container[0], {
  1281.                     childList: !1
  1282.                 }),
  1283.                 l(b.wrapper[0], {
  1284.                     attributes: !1
  1285.                 })
  1286.             }
  1287.             ,
  1288.             b.disconnectObservers = function() {
  1289.                 for (var e = 0; e < b.observers.length; e++)
  1290.                     b.observers[e].disconnect();
  1291.                 b.observers = []
  1292.             }
  1293.             ,
  1294.             b.createLoop = function() {
  1295.                 b.wrapper.children("." + b.params.slideClass + "." + b.params.slideDuplicateClass).remove();
  1296.                 var e = b.wrapper.children("." + b.params.slideClass);
  1297.                 "auto" !== b.params.slidesPerView || b.params.loopedSlides || (b.params.loopedSlides = e.length),
  1298.                 b.loopedSlides = parseInt(b.params.loopedSlides || b.params.slidesPerView, 10),
  1299.                 b.loopedSlides = b.loopedSlides + b.params.loopAdditionalSlides,
  1300.                 b.loopedSlides > e.length && (b.loopedSlides = e.length);
  1301.                 var t, r = [], i = [];
  1302.                 for (e.each(function(t, s) {
  1303.                     var n = a(this);
  1304.                     t < b.loopedSlides && i.push(s),
  1305.                     t < e.length && t >= e.length - b.loopedSlides && r.push(s),
  1306.                     n.attr("data-swiper-slide-index", t)
  1307.                 }),
  1308.                 t = 0; t < i.length; t++)
  1309.                     b.wrapper.append(a(i[t].cloneNode(!0)).addClass(b.params.slideDuplicateClass));
  1310.                 for (t = r.length - 1; t >= 0; t--)
  1311.                     b.wrapper.prepend(a(r[t].cloneNode(!0)).addClass(b.params.slideDuplicateClass))
  1312.             }
  1313.             ,
  1314.             b.destroyLoop = function() {
  1315.                 b.wrapper.children("." + b.params.slideClass + "." + b.params.slideDuplicateClass).remove(),
  1316.                 b.slides.removeAttr("data-swiper-slide-index")
  1317.             }
  1318.             ,
  1319.             b.reLoop = function(e) {
  1320.                 var a = b.activeIndex - b.loopedSlides;
  1321.                 b.destroyLoop(),
  1322.                 b.createLoop(),
  1323.                 b.updateSlidesSize(),
  1324.                 e && b.slideTo(a + b.loopedSlides, 0, !1)
  1325.             }
  1326.             ,
  1327.             b.fixLoop = function() {
  1328.                 var e;
  1329.                 b.activeIndex < b.loopedSlides ? (e = b.slides.length - 3 * b.loopedSlides + b.activeIndex,
  1330.                 e += b.loopedSlides,
  1331.                 b.slideTo(e, 0, !1, !0)) : ("auto" === b.params.slidesPerView && b.activeIndex >= 2 * b.loopedSlides || b.activeIndex > b.slides.length - 2 * b.params.slidesPerView) && (e = -b.slides.length + b.activeIndex + b.loopedSlides,
  1332.                 e += b.loopedSlides,
  1333.                 b.slideTo(e, 0, !1, !0))
  1334.             }
  1335.             ,
  1336.             b.appendSlide = function(e) {
  1337.                 if (b.params.loop && b.destroyLoop(),
  1338.                 "object" == typeof e && e.length)
  1339.                     for (var a = 0; a < e.length; a++)
  1340.                         e[a] && b.wrapper.append(e[a]);
  1341.                 else
  1342.                     b.wrapper.append(e);
  1343.                 b.params.loop && b.createLoop(),
  1344.                 b.params.observer && b.support.observer || b.update(!0)
  1345.             }
  1346.             ,
  1347.             b.prependSlide = function(e) {
  1348.                 b.params.loop && b.destroyLoop();
  1349.                 var a = b.activeIndex + 1;
  1350.                 if ("object" == typeof e && e.length) {
  1351.                     for (var t = 0; t < e.length; t++)
  1352.                         e[t] && b.wrapper.prepend(e[t]);
  1353.                     a = b.activeIndex + e.length
  1354.                 } else
  1355.                     b.wrapper.prepend(e);
  1356.                 b.params.loop && b.createLoop(),
  1357.                 b.params.observer && b.support.observer || b.update(!0),
  1358.                 b.slideTo(a, 0, !1)
  1359.             }
  1360.             ,
  1361.             b.removeSlide = function(e) {
  1362.                 b.params.loop && (b.destroyLoop(),
  1363.                 b.slides = b.wrapper.children("." + b.params.slideClass));
  1364.                 var a, t = b.activeIndex;
  1365.                 if ("object" == typeof e && e.length) {
  1366.                     for (var r = 0; r < e.length; r++)
  1367.                         a = e[r],
  1368.                         b.slides[a] && b.slides.eq(a).remove(),
  1369.                         t > a && t--;
  1370.                     t = Math.max(t, 0)
  1371.                 } else
  1372.                     a = e,
  1373.                     b.slides[a] && b.slides.eq(a).remove(),
  1374.                     t > a && t--,
  1375.                     t = Math.max(t, 0);
  1376.                 b.params.loop && b.createLoop(),
  1377.                 b.params.observer && b.support.observer || b.update(!0),
  1378.                 b.params.loop ? b.slideTo(t + b.loopedSlides, 0, !1) : b.slideTo(t, 0, !1)
  1379.             }
  1380.             ,
  1381.             b.removeAllSlides = function() {
  1382.                 for (var e = [], a = 0; a < b.slides.length; a++)
  1383.                     e.push(a);
  1384.                 b.removeSlide(e)
  1385.             }
  1386.             ,
  1387.             b.effects = {
  1388.                 fade: {
  1389.                     setTranslate: function() {
  1390.                         for (var e = 0; e < b.slides.length; e++) {
  1391.                             var a = b.slides.eq(e)
  1392.                               , t = a[0].swiperSlideOffset
  1393.                               , r = -t;
  1394.                             b.params.virtualTranslate || (r -= b.translate);
  1395.                             var i = 0;
  1396.                             b.isHorizontal() || (i = r,
  1397.                             r = 0);
  1398.                             var s = b.params.fade.crossFade ? Math.max(1 - Math.abs(a[0].progress), 0) : 1 + Math.min(Math.max(a[0].progress, -1), 0);
  1399.                             a.css({
  1400.                                 opacity: s
  1401.                             }).transform("translate3d(" + r + "px, " + i + "px, 0px)")
  1402.                         }
  1403.                     },
  1404.                     setTransition: function(e) {
  1405.                         if (b.slides.transition(e),
  1406.                         b.params.virtualTranslate && 0 !== e) {
  1407.                             var a = !1;
  1408.                             b.slides.transitionEnd(function() {
  1409.                                 if (!a && b) {
  1410.                                     a = !0,
  1411.                                     b.animating = !1;
  1412.                                     for (var e = ["webkitTransitionEnd", "transitionend", "oTransitionEnd", "MSTransitionEnd", "msTransitionEnd"], t = 0; t < e.length; t++)
  1413.                                         b.wrapper.trigger(e[t])
  1414.                                 }
  1415.                             })
  1416.                         }
  1417.                     }
  1418.                 },
  1419.                 flip: {
  1420.                     setTranslate: function() {
  1421.                         for (var e = 0; e < b.slides.length; e++) {
  1422.                             var t = b.slides.eq(e)
  1423.                               , r = t[0].progress;
  1424.                             b.params.flip.limitRotation && (r = Math.max(Math.min(t[0].progress, 1), -1));
  1425.                             var i = t[0].swiperSlideOffset
  1426.                               , s = -180 * r
  1427.                               , n = s
  1428.                               , o = 0
  1429.                               , l = -i
  1430.                               , p = 0;
  1431.                             if (b.isHorizontal() ? b.rtl && (n = -n) : (p = l,
  1432.                             l = 0,
  1433.                             o = -n,
  1434.                             n = 0),
  1435.                             t[0].style.zIndex = -Math.abs(Math.round(r)) + b.slides.length,
  1436.                             b.params.flip.slideShadows) {
  1437.                                 var d = b.isHorizontal() ? t.find(".swiper-slide-shadow-left") : t.find(".swiper-slide-shadow-top")
  1438.                                   , u = b.isHorizontal() ? t.find(".swiper-slide-shadow-right") : t.find(".swiper-slide-shadow-bottom");
  1439.                                 0 === d.length && (d = a('
    + (b.isHorizontal() ? "left" : "top") + '">
    '
    ),
  1440.                                 t.append(d)),
  1441.                                 0 === u.length && (u = a('
    + (b.isHorizontal() ? "right" : "bottom") + '">
    '
    ),
  1442.                                 t.append(u)),
  1443.                                 d.length && (d[0].style.opacity = Math.max(-r, 0)),
  1444.                                 u.length && (u[0].style.opacity = Math.max(r, 0))
  1445.                             }
  1446.                             t.transform("translate3d(" + l + "px, " + p + "px, 0px) rotateX(" + o + "deg) rotateY(" + n + "deg)")
  1447.                         }
  1448.                     },
  1449.                     setTransition: function(e) {
  1450.                         if (b.slides.transition(e).find(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").transition(e),
  1451.                         b.params.virtualTranslate && 0 !== e) {
  1452.                             var t = !1;
  1453.                             b.slides.eq(b.activeIndex).transitionEnd(function() {
  1454.                                 if (!t && b && a(this).hasClass(b.params.slideActiveClass)) {
  1455.                                     t = !0,
  1456.                                     b.animating = !1;
  1457.                                     for (var e = ["webkitTransitionEnd", "transitionend", "oTransitionEnd", "MSTransitionEnd", "msTransitionEnd"], r = 0; r < e.length; r++)
  1458.                                         b.wrapper.trigger(e[r])
  1459.                                 }
  1460.                             })
  1461.                         }
  1462.                     }
  1463.                 },
  1464.                 cube: {
  1465.                     setTranslate: function() {
  1466.                         var e, t = 0;
  1467.                         b.params.cube.shadow && (b.isHorizontal() ? (e = b.wrapper.find(".swiper-cube-shadow"),
  1468.                         0 === e.length && (e = a('
    '
    ),
  1469.                         b.wrapper.append(e)),
  1470.                         e.css({
  1471.                             height: b.width + "px"
  1472.                         })) : (e = b.container.find(".swiper-cube-shadow"),
  1473.                         0 === e.length && (e = a('
    '
    ),
  1474.                         b.container.append(e))));
  1475.                         for (var r = 0; r < b.slides.length; r++) {
  1476.                             var i = b.slides.eq(r)
  1477.                               , s = 90 * r
  1478.                               , n = Math.floor(s / 360);
  1479.                             b.rtl && (s = -s,
  1480.                             n = Math.floor(-s / 360));
  1481.                             var o = Math.max(Math.min(i[0].progress, 1), -1)
  1482.                               , l = 0
  1483.                               , p = 0
  1484.                               , d = 0;
  1485.                             r % 4 === 0 ? (l = 4 * -n * b.size,
  1486.                             d = 0) : (r - 1) % 4 === 0 ? (l = 0,
  1487.                             d = 4 * -n * b.size) : (r - 2) % 4 === 0 ? (l = b.size + 4 * n * b.size,
  1488.                             d = b.size) : (r - 3) % 4 === 0 && (l = -b.size,
  1489.                             d = 3 * b.size + 4 * b.size * n),
  1490.                             b.rtl && (l = -l),
  1491.                             b.isHorizontal() || (p = l,
  1492.                             l = 0);
  1493.                             var u = "rotateX(" + (b.isHorizontal() ? 0 : -s) + "deg) rotateY(" + (b.isHorizontal() ? s : 0) + "deg) translate3d(" + l + "px, " + p + "px, " + d + "px)";
  1494.                             if (1 >= o && o > -1 && (t = 90 * r + 90 * o,
  1495.                             b.rtl && (t = 90 * -r - 90 * o)),
  1496.                             i.transform(u),
  1497.                             b.params.cube.slideShadows) {
  1498.                                 var c = b.isHorizontal() ? i.find(".swiper-slide-shadow-left") : i.find(".swiper-slide-shadow-top")
  1499.                                   , m = b.isHorizontal() ? i.find(".swiper-slide-shadow-right") : i.find(".swiper-slide-shadow-bottom");
  1500.                                 0 === c.length && (c = a('
    + (b.isHorizontal() ? "left" : "top") + '">
    '
    ),
  1501.                                 i.append(c)),
  1502.                                 0 === m.length && (m = a('
    + (b.isHorizontal() ? "right" : "bottom") + '">
    '
    ),
  1503.                                 i.append(m)),
  1504.                                 c.length && (c[0].style.opacity = Math.max(-o, 0)),
  1505.                                 m.length && (m[0].style.opacity = Math.max(o, 0))
  1506.                             }
  1507.                         }
  1508.                         if (b.wrapper.css({
  1509.                             "-webkit-transform-origin": "50% 50% -" + b.size / 2 + "px",
  1510.                             "-moz-transform-origin": "50% 50% -" + b.size / 2 + "px",
  1511.                             "-ms-transform-origin": "50% 50% -" + b.size / 2 + "px",
  1512.                             "transform-origin": "50% 50% -" + b.size / 2 + "px"
  1513.                         }),
  1514.                         b.params.cube.shadow)
  1515.                             if (b.isHorizontal())
  1516.                                 e.transform("translate3d(0px, " + (b.width / 2 + b.params.cube.shadowOffset) + "px, " + -b.width / 2 + "px) rotateX(90deg) rotateZ(0deg) scale(" + b.params.cube.shadowScale + ")");
  1517.                             else {
  1518.                                 var h = Math.abs(t) - 90 * Math.floor(Math.abs(t) / 90)
  1519.                                   , f = 1.5 - (Math.sin(2 * h * Math.PI / 360) / 2 + Math.cos(2 * h * Math.PI / 360) / 2)
  1520.                                   , g = b.params.cube.shadowScale
  1521.                                   , v = b.params.cube.shadowScale / f
  1522.                                   , w = b.params.cube.shadowOffset;
  1523.                                 e.transform("scale3d(" + g + ", 1, " + v + ") translate3d(0px, " + (b.height / 2 + w) + "px, " + -b.height / 2 / v + "px) rotateX(-90deg)")
  1524.                             }
  1525.                         var y = b.isSafari || b.isUiWebView ? -b.size / 2 : 0;
  1526.                         b.wrapper.transform("translate3d(0px,0," + y + "px) rotateX(" + (b.isHorizontal() ? 0 : t) + "deg) rotateY(" + (b.isHorizontal() ? -t : 0) + "deg)")
  1527.                     },
  1528.                     setTransition: function(e) {
  1529.                         b.slides.transition(e).find(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").transition(e),
  1530.                         b.params.cube.shadow && !b.isHorizontal() && b.container.find(".swiper-cube-shadow").transition(e)
  1531.                     }
  1532.                 },
  1533.                 coverflow: {
  1534.                     setTranslate: function() {
  1535.                         for (var e = b.translate, t = b.isHorizontal() ? -e + b.width / 2 : -e + b.height / 2, r = b.isHorizontal() ? b.params.coverflow.rotate : -b.params.coverflow.rotate, i = b.params.coverflow.depth, s = 0, n = b.slides.length; n > s; s++) {
  1536.                             var o = b.slides.eq(s)
  1537.                               , l = b.slidesSizesGrid[s]
  1538.                               , p = o[0].swiperSlideOffset
  1539.                               , d = (t - p - l / 2) / l * b.params.coverflow.modifier
  1540.                               , u = b.isHorizontal() ? r * d : 0
  1541.                               , c = b.isHorizontal() ? 0 : r * d
  1542.                               , m = -i * Math.abs(d)
  1543.                               , h = b.isHorizontal() ? 0 : b.params.coverflow.stretch * d
  1544.                               , f = b.isHorizontal() ? b.params.coverflow.stretch * d : 0;
  1545.                             Math.abs(f) < .001 && (f = 0),
  1546.                             Math.abs(h) < .001 && (h = 0),
  1547.                             Math.abs(m) < .001 && (m = 0),
  1548.                             Math.abs(u) < .001 && (u = 0),
  1549.                             Math.abs(c) < .001 && (c = 0);
  1550.                             var g = "translate3d(" + f + "px," + h + "px," + m + "px) rotateX(" + c + "deg) rotateY(" + u + "deg)";
  1551.                             if (o.transform(g),
  1552.                             o[0].style.zIndex = -Math.abs(Math.round(d)) + 1,
  1553.                             b.params.coverflow.slideShadows) {
  1554.                                 var v = b.isHorizontal() ? o.find(".swiper-slide-shadow-left") : o.find(".swiper-slide-shadow-top")
  1555.                                   , w = b.isHorizontal() ? o.find(".swiper-slide-shadow-right") : o.find(".swiper-slide-shadow-bottom");
  1556.                                 0 === v.length && (v = a('
    + (b.isHorizontal() ? "left" : "top") + '">
    '
    ),
  1557.                                 o.append(v)),
  1558.                                 0 === w.length && (w = a('
    + (b.isHorizontal() ? "right" : "bottom") + '">
    '
    ),
  1559.                                 o.append(w)),
  1560.                                 v.length && (v[0].style.opacity = d > 0 ? d : 0),
  1561.                                 w.length && (w[0].style.opacity = -d > 0 ? -d : 0)
  1562.                             }
  1563.                         }
  1564.                         if (b.browser.ie) {
  1565.                             var y = b.wrapper[0].style;
  1566.                             y.perspectiveOrigin = t + "px 50%"
  1567.                         }
  1568.                     },
  1569.                     setTransition: function(e) {
  1570.                         b.slides.transition(e).find(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").transition(e)
  1571.                     }
  1572.                 }
  1573.             },
  1574.             b.lazy = {
  1575.                 initialImageLoaded: !1,
  1576.                 loadImageInSlide: function(e, t) {
  1577.                     if ("undefined" != typeof e && ("undefined" == typeof t && (t = !0),
  1578.                     0 !== b.slides.length)) {
  1579.                         var r = b.slides.eq(e)
  1580.                           , i = r.find(".swiper-lazy:not(.swiper-lazy-loaded):not(.swiper-lazy-loading)");
  1581.                         !r.hasClass("swiper-lazy") || r.hasClass("swiper-lazy-loaded") || r.hasClass("swiper-lazy-loading") || (i = i.add(r[0])),
  1582.                         0 !== i.length && i.each(function() {
  1583.                             var e = a(this);
  1584.                             e.addClass("swiper-lazy-loading");
  1585.                             var i = e.attr("data-background")
  1586.                               , s = e.attr("data-src")
  1587.                               , n = e.attr("data-srcset");
  1588.                             b.loadImage(e[0], s || i, n, !1, function() {
  1589.                                 if (i ? (e.css("background-image", 'url("' + i + '")'),
  1590.                                 e.removeAttr("data-background")) : (n && (e.attr("srcset", n),
  1591.                                 e.removeAttr("data-srcset")),
  1592.                                 s && (e.attr("src", s),
  1593.                                 e.removeAttr("data-src"))),
  1594.                                 e.addClass("swiper-lazy-loaded").removeClass("swiper-lazy-loading"),
  1595.                                 r.find(".swiper-lazy-preloader, .preloader").remove(),
  1596.                                 b.params.loop && t) {
  1597.                                     var a = r.attr("data-swiper-slide-index");
  1598.                                     if (r.hasClass(b.params.slideDuplicateClass)) {
  1599.                                         var o = b.wrapper.children('[data-swiper-slide-index="' + a + '"]:not(.' + b.params.slideDuplicateClass + ")");
  1600.                                         b.lazy.loadImageInSlide(o.index(), !1)
  1601.                                     } else {
  1602.                                         var l = b.wrapper.children("." + b.params.slideDuplicateClass + '[data-swiper-slide-index="' + a + '"]');
  1603.                                         b.lazy.loadImageInSlide(l.index(), !1)
  1604.                                     }
  1605.                                 }
  1606.                                 b.emit("onLazyImageReady", b, r[0], e[0])
  1607.                             }),
  1608.                             b.emit("onLazyImageLoad", b, r[0], e[0])
  1609.                         })
  1610.                     }
  1611.                 },
  1612.                 load: function() {
  1613.                     var e;
  1614.                     if (b.params.watchSlidesVisibility)
  1615.                         b.wrapper.children("." + b.params.slideVisibleClass).each(function() {
  1616.                             b.lazy.loadImageInSlide(a(this).index())
  1617.                         });
  1618.                     else if (b.params.slidesPerView > 1)
  1619.                         for (e = b.activeIndex; e < b.activeIndex + b.params.slidesPerView; e++)
  1620.                             b.slides[e] && b.lazy.loadImageInSlide(e);
  1621.                     else
  1622.                         b.lazy.loadImageInSlide(b.activeIndex);
  1623.                     if (b.params.lazyLoadingInPrevNext)
  1624.                         if (b.params.slidesPerView > 1 || b.params.lazyLoadingInPrevNextAmount && b.params.lazyLoadingInPrevNextAmount > 1) {
  1625.                             var t = b.params.lazyLoadingInPrevNextAmount
  1626.                               , r = b.params.slidesPerView
  1627.                               , i = Math.min(b.activeIndex + r + Math.max(t, r), b.slides.length)
  1628.                               , s = Math.max(b.activeIndex - Math.max(r, t), 0);
  1629.                             for (e = b.activeIndex + b.params.slidesPerView; i > e; e++)
  1630.                                 b.slides[e] && b.lazy.loadImageInSlide(e);
  1631.                             for (e = s; e < b.activeIndex; e++)
  1632.                                 b.slides[e] && b.lazy.loadImageInSlide(e)
  1633.                         } else {
  1634.                             var n = b.wrapper.children("." + b.params.slideNextClass);
  1635.                             n.length > 0 && b.lazy.loadImageInSlide(n.index());
  1636.                             var o = b.wrapper.children("." + b.params.slidePrevClass);
  1637.                             o.length > 0 && b.lazy.loadImageInSlide(o.index())
  1638.                         }
  1639.                 },
  1640.                 onTransitionStart: function() {
  1641.                     b.params.lazyLoading && (b.params.lazyLoadingOnTransitionStart || !b.params.lazyLoadingOnTransitionStart && !b.lazy.initialImageLoaded) && b.lazy.load()
  1642.                 },
  1643.                 onTransitionEnd: function() {
  1644.                     b.params.lazyLoading && !b.params.lazyLoadingOnTransitionStart && b.lazy.load()
  1645.                 }
  1646.             },
  1647.             b.scrollbar = {
  1648.                 isTouched: !1,
  1649.                 setDragPosition: function(e) {
  1650.                     var a = b.scrollbar
  1651.                       , t = b.isHorizontal() ? "touchstart" === e.type || "touchmove" === e.type ? e.targetTouches[0].pageX : e.pageX || e.clientX : "touchstart" === e.type || "touchmove" === e.type ? e.targetTouches[0].pageY : e.pageY || e.clientY
  1652.                       , r = t - a.track.offset()[b.isHorizontal() ? "left" : "top"] - a.dragSize / 2
  1653.                       , i = -b.minTranslate() * a.moveDivider
  1654.                       , s = -b.maxTranslate() * a.moveDivider;
  1655.                     i > r ? r = i : r > s && (r = s),
  1656.                     r = -r / a.moveDivider,
  1657.                     b.updateProgress(r),
  1658.                     b.setWrapperTranslate(r, !0)
  1659.                 },
  1660.                 dragStart: function(e) {
  1661.                     var a = b.scrollbar;
  1662.                     a.isTouched = !0,
  1663.                     e.preventDefault(),
  1664.                     e.stopPropagation(),
  1665.                     a.setDragPosition(e),
  1666.                     clearTimeout(a.dragTimeout),
  1667.                     a.track.transition(0),
  1668.                     b.params.scrollbarHide && a.track.css("opacity", 1),
  1669.                     b.wrapper.transition(100),
  1670.                     a.drag.transition(100),
  1671.                     b.emit("onScrollbarDragStart", b)
  1672.                 },
  1673.                 dragMove: function(e) {
  1674.                     var a = b.scrollbar;
  1675.                     a.isTouched && (e.preventDefault ? e.preventDefault() : e.returnValue = !1,
  1676.                     a.setDragPosition(e),
  1677.                     b.wrapper.transition(0),
  1678.                     a.track.transition(0),
  1679.                     a.drag.transition(0),
  1680.                     b.emit("onScrollbarDragMove", b))
  1681.                 },
  1682.                 dragEnd: function(e) {
  1683.                     var a = b.scrollbar;
  1684.                     a.isTouched && (a.isTouched = !1,
  1685.                     b.params.scrollbarHide && (clearTimeout(a.dragTimeout),
  1686.                     a.dragTimeout = setTimeout(function() {
  1687.                         a.track.css("opacity", 0),
  1688.                         a.track.transition(400)
  1689.                     }, 1e3)),
  1690.                     b.emit("onScrollbarDragEnd", b),
  1691.                     b.params.scrollbarSnapOnRelease && b.slideReset())
  1692.                 },
  1693.                 enableDraggable: function() {
  1694.                     var e = b.scrollbar
  1695.                       , t = b.support.touch ? e.track : document;
  1696.                     a(e.track).on(b.touchEvents.start, e.dragStart),
  1697.                     a(t).on(b.touchEvents.move, e.dragMove),
  1698.                     a(t).on(b.touchEvents.end, e.dragEnd)
  1699.                 },
  1700.                 disableDraggable: function() {
  1701.                     var e = b.scrollbar
  1702.                       , t = b.support.touch ? e.track : document;
  1703.                     a(e.track).off(b.touchEvents.start, e.dragStart),
  1704.                     a(t).off(b.touchEvents.move, e.dragMove),
  1705.                     a(t).off(b.touchEvents.end, e.dragEnd)
  1706.                 },
  1707.                 set: function() {
  1708.                     if (b.params.scrollbar) {
  1709.                         var e = b.scrollbar;
  1710.                         e.track = a(b.params.scrollbar),
  1711.                         b.params.uniqueNavElements && "string" == typeof b.params.scrollbar && e.track.length > 1 && 1 === b.container.find(b.params.scrollbar).length && (e.track = b.container.find(b.params.scrollbar)),
  1712.                         e.drag = e.track.find(".swiper-scrollbar-drag"),
  1713.                         0 === e.drag.length && (e.drag = a('
    '
    ),
  1714.                         e.track.append(e.drag)),
  1715.                         e.drag[0].style.width = "",
  1716.                         e.drag[0].style.height = "",
  1717.                         e.trackSize = b.isHorizontal() ? e.track[0].offsetWidth : e.track[0].offsetHeight,
  1718.                         e.divider = b.size / b.virtualSize,
  1719.                         e.moveDivider = e.divider * (e.trackSize / b.size),
  1720.                         e.dragSize = e.trackSize * e.divider,
  1721.                         b.isHorizontal() ? e.drag[0].style.width = e.dragSize + "px" : e.drag[0].style.height = e.dragSize + "px",
  1722.                         e.divider >= 1 ? e.track[0].style.display = "none" : e.track[0].style.display = "",
  1723.                         b.params.scrollbarHide && (e.track[0].style.opacity = 0)
  1724.                     }
  1725.                 },
  1726.                 setTranslate: function() {
  1727.                     if (b.params.scrollbar) {
  1728.                         var e, a = b.scrollbar, t = (b.translate || 0,
  1729.                         a.dragSize);
  1730.                         e = (a.trackSize - a.dragSize) * b.progress,
  1731.                         b.rtl && b.isHorizontal() ? (e = -e,
  1732.                         e > 0 ? (t = a.dragSize - e,
  1733.                         e = 0) : -e + a.dragSize > a.trackSize && (t = a.trackSize + e)) : 0 > e ? (t = a.dragSize + e,
  1734.                         e = 0) : e + a.dragSize > a.trackSize && (t = a.trackSize - e),
  1735.                         b.isHorizontal() ? (b.support.transforms3d ? a.drag.transform("translate3d(" + e + "px, 0, 0)") : a.drag.transform("translateX(" + e + "px)"),
  1736.                         a.drag[0].style.width = t + "px") : (b.support.transforms3d ? a.drag.transform("translate3d(0px, " + e + "px, 0)") : a.drag.transform("translateY(" + e + "px)"),
  1737.                         a.drag[0].style.height = t + "px"),
  1738.                         b.params.scrollbarHide && (clearTimeout(a.timeout),
  1739.                         a.track[0].style.opacity = 1,
  1740.                         a.timeout = setTimeout(function() {
  1741.                             a.track[0].style.opacity = 0,
  1742.                             a.track.transition(400)
  1743.                         }, 1e3))
  1744.                     }
  1745.                 },
  1746.                 setTransition: function(e) {
  1747.                     b.params.scrollbar && b.scrollbar.drag.transition(e)
  1748.                 }
  1749.             },
  1750.             b.controller = {
  1751.                 LinearSpline: function(e, a) {
  1752.                     this.x = e,
  1753.                     this.y = a,
  1754.                     this.lastIndex = e.length - 1;
  1755.                     var t, r;
  1756.                     this.x.length;
  1757.                     this.interpolate = function(e) {
  1758.                         return e ? (r = i(this.x, e),
  1759.                         t = r - 1,
  1760.                         (e - this.x[t]) * (this.y[r] - this.y[t]) / (this.x[r] - this.x[t]) + this.y[t]) : 0
  1761.                     }
  1762.                     ;
  1763.                     var i = function() {
  1764.                         var e, a, t;
  1765.                         return function(r, i) {
  1766.                             for (a = -1,
  1767.                             e = r.length; e - a > 1; )
  1768.                                 r[t = e + a >> 1] <= i ? a = t : e = t;
  1769.                             return e
  1770.                         }
  1771.                     }()
  1772.                 },
  1773.                 getInterpolateFunction: function(e) {
  1774.                     b.controller.spline || (b.controller.spline = b.params.loop ? new b.controller.LinearSpline(b.slidesGrid,e.slidesGrid) : new b.controller.LinearSpline(b.snapGrid,e.snapGrid))
  1775.                 },
  1776.                 setTranslate: function(e, a) {
  1777.                     function r(a) {
  1778.                         e = a.rtl && "horizontal" === a.params.direction ? -b.translate : b.translate,
  1779.                         "slide" === b.params.controlBy && (b.controller.getInterpolateFunction(a),
  1780.                         s = -b.controller.spline.interpolate(-e)),
  1781.                         s && "container" !== b.params.controlBy || (i = (a.maxTranslate() - a.minTranslate()) / (b.maxTranslate() - b.minTranslate()),
  1782.                         s = (e - b.minTranslate()) * i + a.minTranslate()),
  1783.                         b.params.controlInverse && (s = a.maxTranslate() - s),
  1784.                         a.updateProgress(s),
  1785.                         a.setWrapperTranslate(s, !1, b),
  1786.                         a.updateActiveIndex()
  1787.                     }
  1788.                     var i, s, n = b.params.control;
  1789.                     if (b.isArray(n))
  1790.                         for (var o = 0; o < n.length; o++)
  1791.                             n[o] !== a && n[o]instanceof t && r(n[o]);
  1792.                     else
  1793.                         n instanceof t && a !== n && r(n)
  1794.                 },
  1795.                 setTransition: function(e, a) {
  1796.                     function r(a) {
  1797.                         a.setWrapperTransition(e, b),
  1798.                         0 !== e && (a.onTransitionStart(),
  1799.                         a.wrapper.transitionEnd(function() {
  1800.                             s && (a.params.loop && "slide" === b.params.controlBy && a.fixLoop(),
  1801.                             a.onTransitionEnd())
  1802.                         }))
  1803.                     }
  1804.                     var i, s = b.params.control;
  1805.                     if (b.isArray(s))
  1806.                         for (i = 0; i < s.length; i++)
  1807.                             s[i] !== a && s[i]instanceof t && r(s[i]);
  1808.                     else
  1809.                         s instanceof t && a !== s && r(s)
  1810.                 }
  1811.             },
  1812.             b.hashnav = {
  1813.                 init: function() {
  1814.                     if (b.params.hashnav) {
  1815.                         b.hashnav.initialized = !0;
  1816.                         var e = document.location.hash.replace("#", "");
  1817.                         if (e)
  1818.                             for (var a = 0, t = 0, r = b.slides.length; r > t; t++) {
  1819.                                 var i = b.slides.eq(t)
  1820.                                   , s = i.attr("data-hash");
  1821.                                 if (s === e && !i.hasClass(b.params.slideDuplicateClass)) {
  1822.                                     var n = i.index();
  1823.                                     b.slideTo(n, a, b.params.runCallbacksOnInit, !0)
  1824.                                 }
  1825.                             }
  1826.                     }
  1827.                 },
  1828.                 setHash: function() {
  1829.                     b.hashnav.initialized && b.params.hashnav && (document.location.hash = b.slides.eq(b.activeIndex).attr("data-hash") || "")
  1830.                 }
  1831.             },
  1832.             b.disableKeyboardControl = function() {
  1833.                 b.params.keyboardControl = !1,
  1834.                 a(document).off("keydown", p)
  1835.             }
  1836.             ,
  1837.             b.enableKeyboardControl = function() {
  1838.                 b.params.keyboardControl = !0,
  1839.                 a(document).on("keydown", p)
  1840.             }
  1841.             ,
  1842.             b.mousewheel = {
  1843.                 event: !1,
  1844.                 lastScrollTime: (new window.Date).getTime()
  1845.             },
  1846.             b.params.mousewheelControl) {
  1847.                 try {
  1848.                     new window.WheelEvent("wheel"),
  1849.                     b.mousewheel.event = "wheel"
  1850.                 } catch (N) {
  1851.                     (window.WheelEvent || b.container[0] && "wheel"in b.container[0]) && (b.mousewheel.event = "wheel")
  1852.                 }
  1853.                 !b.mousewheel.event && window.WheelEvent,
  1854.                 b.mousewheel.event || void 0 === document.onmousewheel || (b.mousewheel.event = "mousewheel"),
  1855.                 b.mousewheel.event || (b.mousewheel.event = "DOMMouseScroll")
  1856.             }
  1857.             b.disableMousewheelControl = function() {
  1858.                 return b.mousewheel.event ? (b.container.off(b.mousewheel.event, d),
  1859.                 !0) : !1
  1860.             }
  1861.             ,
  1862.             b.enableMousewheelControl = function() {
  1863.                 return b.mousewheel.event ? (b.container.on(b.mousewheel.event, d),
  1864.                 !0) : !1
  1865.             }
  1866.             ,
  1867.             b.parallax = {
  1868.                 setTranslate: function() {
  1869.                     b.container.children("[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y]").each(function() {
  1870.                         u(this, b.progress)
  1871.                     }),
  1872.                     b.slides.each(function() {
  1873.                         var e = a(this);
  1874.                         e.find("[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y]").each(function() {
  1875.                             var a = Math.min(Math.max(e[0].progress, -1), 1);
  1876.                             u(this, a)
  1877.                         })
  1878.                     })
  1879.                 },
  1880.                 setTransition: function(e) {
  1881.                     "undefined" == typeof e && (e = b.params.speed),
  1882.                     b.container.find("[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y]").each(function() {
  1883.                         var t = a(this)
  1884.                           , r = parseInt(t.attr("data-swiper-parallax-duration"), 10) || e;
  1885.                         0 === e && (r = 0),
  1886.                         t.transition(r)
  1887.                     })
  1888.                 }
  1889.             },
  1890.             b._plugins = [];
  1891.             for (var R in b.plugins) {
  1892.                 var W = b.plugins[R](b, b.params[R]);
  1893.                 W && b._plugins.push(W)
  1894.             }
  1895.             return b.callPlugins = function(e) {
  1896.                 for (var a = 0; a < b._plugins.length; a++)
  1897.                     e in b._plugins[a] && b._plugins[a][e](arguments[1], arguments[2], arguments[3], arguments[4], arguments[5])
  1898.             }
  1899.             ,
  1900.             b.emitterEventListeners = {},
  1901.             b.emit = function(e) {
  1902.                 b.params[e] && b.params[e](arguments[1], arguments[2], arguments[3], arguments[4], arguments[5]);
  1903.                 var a;
  1904.                 if (b.emitterEventListeners[e])
  1905.                     for (a = 0; a < b.emitterEventListeners[e].length; a++)
  1906.                         b.emitterEventListeners[e][a](arguments[1], arguments[2], arguments[3], arguments[4], arguments[5]);
  1907.                 b.callPlugins && b.callPlugins(e, arguments[1], arguments[2], arguments[3], arguments[4], arguments[5])
  1908.             }
  1909.             ,
  1910.             b.on = function(e, a) {
  1911.                 return e = c(e),
  1912.                 b.emitterEventListeners[e] || (b.emitterEventListeners[e] = []),
  1913.                 b.emitterEventListeners[e].push(a),
  1914.                 b
  1915.             }
  1916.             ,
  1917.             b.off = function(e, a) {
  1918.                 var t;
  1919.                 if (e = c(e),
  1920.                 "undefined" == typeof a)
  1921.                     return b.emitterEventListeners[e] = [],
  1922.                     b;
  1923.                 if (b.emitterEventListeners[e] && 0 !== b.emitterEventListeners[e].length) {
  1924.                     for (t = 0; t < b.emitterEventListeners[e].length; t++)
  1925.                         b.emitterEventListeners[e][t] === a && b.emitterEventListeners[e].splice(t, 1);
  1926.                     return b
  1927.                 }
  1928.             }
  1929.             ,
  1930.             b.once = function(e, a) {
  1931.                 e = c(e);
  1932.                 var t = function() {
  1933.                     a(arguments[0], arguments[1], arguments[2], arguments[3], arguments[4]),
  1934.                     b.off(e, t)
  1935.                 }
  1936.                 ;
  1937.                 return b.on(e, t),
  1938.                 b
  1939.             }
  1940.             ,
  1941.             b.a11y = {
  1942.                 makeFocusable: function(e) {
  1943.                     return e.attr("tabIndex", "0"),
  1944.                     e
  1945.                 },
  1946.                 addRole: function(e, a) {
  1947.                     return e.attr("role", a),
  1948.                     e
  1949.                 },
  1950.                 addLabel: function(e, a) {
  1951.                     return e.attr("aria-label", a),
  1952.                     e
  1953.                 },
  1954.                 disable: function(e) {
  1955.                     return e.attr("aria-disabled", !0),
  1956.                     e
  1957.                 },
  1958.                 enable: function(e) {
  1959.                     return e.attr("aria-disabled", !1),
  1960.                     e
  1961.                 },
  1962.                 onEnterKey: function(e) {
  1963.                     13 === e.keyCode && (a(e.target).is(b.params.nextButton) ? (b.onClickNext(e),
  1964.                     b.isEnd ? b.a11y.notify(b.params.lastSlideMessage) : b.a11y.notify(b.params.nextSlideMessage)) : a(e.target).is(b.params.prevButton) && (b.onClickPrev(e),
  1965.                     b.isBeginning ? b.a11y.notify(b.params.firstSlideMessage) : b.a11y.notify(b.params.prevSlideMessage)),
  1966.                     a(e.target).is("." + b.params.bulletClass) && a(e.target)[0].click())
  1967.                 },
  1968.                 liveRegion: a(''),
  1969.                 notify: function(e) {
  1970.                     var a = b.a11y.liveRegion;
  1971.                     0 !== a.length && (a.html(""),
  1972.                     a.html(e))
  1973.                 },
  1974.                 init: function() {
  1975.                     b.params.nextButton && b.nextButton && b.nextButton.length > 0 && (b.a11y.makeFocusable(b.nextButton),
  1976.                     b.a11y.addRole(b.nextButton, "button"),
  1977.                     b.a11y.addLabel(b.nextButton, b.params.nextSlideMessage)),
  1978.                     b.params.prevButton && b.prevButton && b.prevButton.length > 0 && (b.a11y.makeFocusable(b.prevButton),
  1979.                     b.a11y.addRole(b.prevButton, "button"),
  1980.                     b.a11y.addLabel(b.prevButton, b.params.prevSlideMessage)),
  1981.                     a(b.container).append(b.a11y.liveRegion)
  1982.                 },
  1983.                 initPagination: function() {
  1984.                     b.params.pagination && b.params.paginationClickable && b.bullets && b.bullets.length && b.bullets.each(function() {
  1985.                         var e = a(this);
  1986.                         b.a11y.makeFocusable(e),
  1987.                         b.a11y.addRole(e, "button"),
  1988.                         b.a11y.addLabel(e, b.params.paginationBulletMessage.replace(/{{index}}/, e.index() + 1))
  1989.                     })
  1990.                 },
  1991.                 destroy: function() {
  1992.                     b.a11y.liveRegion && b.a11y.liveRegion.length > 0 && b.a11y.liveRegion.remove()
  1993.                 }
  1994.             },
  1995.             b.init = function() {
  1996.                 b.params.loop && b.createLoop(),
  1997.                 b.updateContainerSize(),
  1998.                 b.updateSlidesSize(),
  1999.                 b.updatePagination(),
  2000.                 b.params.scrollbar && b.scrollbar && (b.scrollbar.set(),
  2001.                 b.params.scrollbarDraggable && b.scrollbar.enableDraggable()),
  2002.                 "slide" !== b.params.effect && b.effects[b.params.effect] && (b.params.loop || b.updateProgress(),
  2003.                 b.effects[b.params.effect].setTranslate()),
  2004.                 b.params.loop ? b.slideTo(b.params.initialSlide + b.loopedSlides, 0, b.params.runCallbacksOnInit) : (b.slideTo(b.params.initialSlide, 0, b.params.runCallbacksOnInit),
  2005.                 0 === b.params.initialSlide && (b.parallax && b.params.parallax && b.parallax.setTranslate(),
  2006.                 b.lazy && b.params.lazyLoading && (b.lazy.load(),
  2007.                 b.lazy.initialImageLoaded = !0))),
  2008.                 b.attachEvents(),
  2009.                 b.params.observer && b.support.observer && b.initObservers(),
  2010.                 b.params.preloadImages && !b.params.lazyLoading && b.preloadImages(),
  2011.                 b.params.autoplay && b.startAutoplay(),
  2012.                 b.params.keyboardControl && b.enableKeyboardControl && b.enableKeyboardControl(),
  2013.                 b.params.mousewheelControl && b.enableMousewheelControl && b.enableMousewheelControl(),
  2014.                 b.params.hashnav && b.hashnav && b.hashnav.init(),
  2015.                 b.params.a11y && b.a11y && b.a11y.init(),
  2016.                 b.emit("onInit", b)
  2017.             }
  2018.             ,
  2019.             b.cleanupStyles = function() {
  2020.                 b.container.removeClass(b.classNames.join(" ")).removeAttr("style"),
  2021.                 b.wrapper.removeAttr("style"),
  2022.                 b.slides && b.slides.length && b.slides.removeClass([b.params.slideVisibleClass, b.params.slideActiveClass, b.params.slideNextClass, b.params.slidePrevClass].join(" ")).removeAttr("style").removeAttr("data-swiper-column").removeAttr("data-swiper-row"),
  2023.                 b.paginationContainer && b.paginationContainer.length && b.paginationContainer.removeClass(b.params.paginationHiddenClass),
  2024.                 b.bullets && b.bullets.length && b.bullets.removeClass(b.params.bulletActiveClass),
  2025.                 b.params.prevButton && a(b.params.prevButton).removeClass(b.params.buttonDisabledClass),
  2026.                 b.params.nextButton && a(b.params.nextButton).removeClass(b.params.buttonDisabledClass),
  2027.                 b.params.scrollbar && b.scrollbar && (b.scrollbar.track && b.scrollbar.track.length && b.scrollbar.track.removeAttr("style"),
  2028.                 b.scrollbar.drag && b.scrollbar.drag.length && b.scrollbar.drag.removeAttr("style"))
  2029.             }
  2030.             ,
  2031.             b.destroy = function(e, a) {
  2032.                 b.detachEvents(),
  2033.                 b.stopAutoplay(),
  2034.                 b.params.scrollbar && b.scrollbar && b.params.scrollbarDraggable && b.scrollbar.disableDraggable(),
  2035.                 b.params.loop && b.destroyLoop(),
  2036.                 a && b.cleanupStyles(),
  2037.                 b.disconnectObservers(),
  2038.                 b.params.keyboardControl && b.disableKeyboardControl && b.disableKeyboardControl(),
  2039.                 b.params.mousewheelControl && b.disableMousewheelControl && b.disableMousewheelControl(),
  2040.                 b.params.a11y && b.a11y && b.a11y.destroy(),
  2041.                 b.emit("onDestroy"),
  2042.                 e !== !1 && (b = null )
  2043.             }
  2044.             ,
  2045.             b.init(),
  2046.             b
  2047.         }
  2048.     }
  2049.     ;
  2050.     t.prototype = {
  2051.         isSafari: function() {
  2052.             var e = navigator.userAgent.toLowerCase();
  2053.             return e.indexOf("safari") >= 0 && e.indexOf("chrome") < 0 && e.indexOf("android") < 0
  2054.         }(),
  2055.         isUiWebView: /(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(navigator.userAgent),
  2056.         isArray: function(e) {
  2057.             return "[object Array]" === Object.prototype.toString.apply(e)
  2058.         },
  2059.         browser: {
  2060.             ie: window.navigator.pointerEnabled || window.navigator.msPointerEnabled,
  2061.             ieTouch: window.navigator.msPointerEnabled && window.navigator.msMaxTouchPoints > 1 || window.navigator.pointerEnabled && window.navigator.maxTouchPoints > 1
  2062.         },
  2063.         device: function() {
  2064.             var e = navigator.userAgent
  2065.               , a = e.match(/(Android);?[\s\/]+([\d.]+)?/)
  2066.               , t = e.match(/(iPad).*OS\s([\d_]+)/)
  2067.               , r = e.match(/(iPod)(.*OS\s([\d_]+))?/)
  2068.               , i = !t && e.match(/(iPhone\sOS)\s([\d_]+)/);
  2069.             return {
  2070.                 ios: t || i || r,
  2071.                 android: a
  2072.             }
  2073.         }(),
  2074.         support: {
  2075.             touch: window.Modernizr && Modernizr.touch === !0 || function() {
  2076.                 return !!("ontouchstart"in window || window.DocumentTouch && document instanceof DocumentTouch)
  2077.             }(),
  2078.             transforms3d: window.Modernizr && Modernizr.csstransforms3d === !0 || function() {
  2079.                 var e = document.createElement("div").style;
  2080.                 return "webkitPerspective"in e || "MozPerspective"in e || "OPerspective"in e || "MsPerspective"in e || "perspective"in e
  2081.             }(),
  2082.             flexbox: function() {
  2083.                 for (var e = document.createElement("div").style, a = "alignItems webkitAlignItems webkitBoxAlign msFlexAlign mozBoxAlign webkitFlexDirection msFlexDirection mozBoxDirection mozBoxOrient webkitBoxDirection webkitBoxOrient".split(" "), t = 0; t < a.length; t++)
  2084.                     if (a[t]in e)
  2085.                         return !0
  2086.             }(),
  2087.             observer: function() {
  2088.                 return "MutationObserver"in window || "WebkitMutationObserver"in window
  2089.             }()
  2090.         },
  2091.         plugins: {}
  2092.     };
  2093.     for (var r = (function() {
  2094.         var e = function(e) {
  2095.             var a = this
  2096.               , t = 0;
  2097.             for (t = 0; t < e.length; t++)
  2098.                 a[t] = e[t];
  2099.             return a.length = e.length,
  2100.             this
  2101.         }
  2102.           , a = function(a, t) {
  2103.             var r = []
  2104.               , i = 0;
  2105.             if (a && !t && a instanceof e)
  2106.                 return a;
  2107.             if (a)
  2108.                 if ("string" == typeof a) {
  2109.                     var s, n, o = a.trim();
  2110.                     if (o.indexOf("<") >= 0 && o.indexOf(">") >= 0) {
  2111.                         var l = "div";
  2112.                         for (0 === o.indexOf(") && (l = "ul"),
  2113.                         0 === o.indexOf(") && (l = "tbody"),
  2114.                         (0 === o.indexOf(") || 0 === o.indexOf(")) && (l = "tr"),
  2115.                         0 === o.indexOf(") && (l = "table"),
  2116.                         0 === o.indexOf(") && (l = "select"),
  2117.                         n = document.createElement(l),
  2118.                         n.innerHTML = a,
  2119.                         i = 0; i < n.childNodes.length; i++)
  2120.                             r.push(n.childNodes[i])
  2121.                     } else
  2122.                         for (s = t || "#" !== a[0] || a.match(/[ .<>:~]/) ? (t || document).querySelectorAll(a) : [document.getElementById(a.split("#")[1])],
  2123.                         i = 0; i < s.length; i++)
  2124.                             s[i] && r.push(s[i])
  2125.                 } else if (a.nodeType || a === window || a === document)
  2126.                     r.push(a);
  2127.                 else if (a.length > 0 && a[0].nodeType)
  2128.                     for (i = 0; i < a.length; i++)
  2129.                         r.push(a[i]);
  2130.             return new e(r)
  2131.         }
  2132.         ;
  2133.         return e.prototype = {
  2134.             addClass: function(e) {
  2135.                 if ("undefined" == typeof e)
  2136.                     return this;
  2137.                 for (var a = e.split(" "), t = 0; t < a.length; t++)
  2138.                     for (var r = 0; r < this.length; r++)
  2139.                         this[r].classList.add(a[t]);
  2140.                 return this
  2141.             },
  2142.             removeClass: function(e) {
  2143.                 for (var a = e.split(" "), t = 0; t < a.length; t++)
  2144.                     for (var r = 0; r < this.length; r++)
  2145.                         this[r].classList.remove(a[t]);
  2146.                 return this
  2147.             },
  2148.             hasClass: function(e) {
  2149.                 return this[0] ? this[0].classList.contains(e) : !1
  2150.             },
  2151.             toggleClass: function(e) {
  2152.                 for (var a = e.split(" "), t = 0; t < a.length; t++)
  2153.                     for (var r = 0; r < this.length; r++)
  2154.                         this[r].classList.toggle(a[t]);
  2155.                 return this
  2156.             },
  2157.             attr: function(e, a) {
  2158.                 if (1 === arguments.length && "string" == typeof e)
  2159.                     return this[0] ? this[0].getAttribute(e) : void 0;
  2160.                 for (var t = 0; t < this.length; t++)
  2161.                     if (2 === arguments.length)
  2162.                         this[t].setAttribute(e, a);
  2163.                     else
  2164.                         for (var r in e)
  2165.                             this[t][r] = e[r],
  2166.                             this[t].setAttribute(r, e[r]);
  2167.                 return this
  2168.             },
  2169.             removeAttr: function(e) {
  2170.                 for (var a = 0; a < this.length; a++)
  2171.                     this[a].removeAttribute(e);
  2172.                 return this
  2173.             },
  2174.             data: function(e, a) {
  2175.                 if ("undefined" != typeof a) {
  2176.                     for (var t = 0; t < this.length; t++) {
  2177.                         var r = this[t];
  2178.                         r.dom7ElementDataStorage || (r.dom7ElementDataStorage = {}),
  2179.                         r.dom7ElementDataStorage[e] = a
  2180.                     }
  2181.                     return this
  2182.                 }
  2183.                 if (this[0]) {
  2184.                     var i = this[0].getAttribute("data-" + e);
  2185.                     return i ? i : this[0].dom7ElementDataStorage && e in this[0].dom7ElementDataStorage ? this[0].dom7ElementDataStorage[e] : void 0
  2186.                 }
  2187.             },
  2188.             transform: function(e) {
  2189.                 for (var a = 0; a < this.length; a++) {
  2190.                     var t = this[a].style;
  2191.                     t.webkitTransform = t.MsTransform = t.msTransform = t.MozTransform = t.OTransform = t.transform = e
  2192.                 }
  2193.                 return this
  2194.             },
  2195.             transition: function(e) {
  2196.                 "string" != typeof e && (e += "ms");
  2197.                 for (var a = 0; a < this.length; a++) {
  2198.                     var t = this[a].style;
  2199.                     t.webkitTransitionDuration = t.MsTransitionDuration = t.msTransitionDuration = t.MozTransitionDuration = t.OTransitionDuration = t.transitionDuration = e
  2200.                 }
  2201.                 return this
  2202.             },
  2203.             on: function(e, t, r, i) {
  2204.                 function s(e) {
  2205.                     var i = e.target;
  2206.                     if (a(i).is(t))
  2207.                         r.call(i, e);
  2208.                     else
  2209.                         for (var s = a(i).parents(), n = 0; n < s.length; n++)
  2210.                             a(s[n]).is(t) && r.call(s[n], e)
  2211.                 }
  2212.                 var n, o, l = e.split(" ");
  2213.                 for (n = 0; n < this.length; n++)
  2214.                     if ("function" == typeof t || t === !1)
  2215.                         for ("function" == typeof t && (r = arguments[1],
  2216.                         i = arguments[2] || !1),
  2217.                         o = 0; o < l.length; o++)
  2218.                             this[n].addEventListener(l[o], r, i);
  2219.                     else
  2220.                         for (o = 0; o < l.length; o++)
  2221.                             this[n].dom7LiveListeners || (this[n].dom7LiveListeners = []),
  2222.                             this[n].dom7LiveListeners.push({
  2223.                                 listener: r,
  2224.                                 liveListener: s
  2225.                             }),
  2226.                             this[n].addEventListener(l[o], s, i);
  2227.                 return this
  2228.             },
  2229.             off: function(e, a, t, r) {
  2230.                 for (var i = e.split(" "), s = 0; s < i.length; s++)
  2231.                     for (var n = 0; n < this.length; n++)
  2232.                         if ("function" == typeof a || a === !1)
  2233.                             "function" == typeof a && (t = arguments[1],
  2234.                             r = arguments[2] || !1),
  2235.                             this[n].removeEventListener(i[s], t, r);
  2236.                         else if (this[n].dom7LiveListeners)
  2237.                             for (var o = 0; o < this[n].dom7LiveListeners.length; o++)
  2238.                                 this[n].dom7LiveListeners[o].listener === t && this[n].removeEventListener(i[s], this[n].dom7LiveListeners[o].liveListener, r);
  2239.                 return this
  2240.             },
  2241.             once: function(e, a, t, r) {
  2242.                 function i(n) {
  2243.                     t(n),
  2244.                     s.off(e, a, i, r)
  2245.                 }
  2246.                 var s = this;
  2247.                 "function" == typeof a && (a = !1,
  2248.                 t = arguments[1],
  2249.                 r = arguments[2]),
  2250.                 s.on(e, a, i, r)
  2251.             },
  2252.             trigger: function(e, a) {
  2253.                 for (var t = 0; t < this.length; t++) {
  2254.                     var r;
  2255.                     try {
  2256.                         r = new window.CustomEvent(e,{
  2257.                             detail: a,
  2258.                             bubbles: !0,
  2259.                             cancelable: !0
  2260.                         })
  2261.                     } catch (i) {
  2262.                         r = document.createEvent("Event"),
  2263.                         r.initEvent(e, !0, !0),
  2264.                         r.detail = a
  2265.                     }
  2266.                     this[t].dispatchEvent(r)
  2267.                 }
  2268.                 return this
  2269.             },
  2270.             transitionEnd: function(e) {
  2271.                 function a(s) {
  2272.                     if (s.target === this)
  2273.                         for (e.call(this, s),
  2274.                         t = 0; t < r.length; t++)
  2275.                             i.off(r[t], a)
  2276.                 }
  2277.                 var t, r = ["webkitTransitionEnd", "transitionend", "oTransitionEnd", "MSTransitionEnd", "msTransitionEnd"], i = this;
  2278.                 if (e)
  2279.                     for (t = 0; t < r.length; t++)
  2280.                         i.on(r[t], a);
  2281.                 return this
  2282.             },
  2283.             width: function() {
  2284.                 return this[0] === window ? window.innerWidth : this.length > 0 ? parseFloat(this.css("width")) : null
  2285.             },
  2286.             outerWidth: function(e) {
  2287.                 return this.length > 0 ? e ? this[0].offsetWidth + parseFloat(this.css("margin-right")) + parseFloat(this.css("margin-left")) : this[0].offsetWidth : null
  2288.             },
  2289.             height: function() {
  2290.                 return this[0] === window ? window.innerHeight : this.length > 0 ? parseFloat(this.css("height")) : null
  2291.             },
  2292.             outerHeight: function(e) {
  2293.                 return this.length > 0 ? e ? this[0].offsetHeight + parseFloat(this.css("margin-top")) + parseFloat(this.css("margin-bottom")) : this[0].offsetHeight : null
  2294.             },
  2295.             offset: function() {
  2296.                 if (this.length > 0) {
  2297.                     var e = this[0]
  2298.                       , a = e.getBoundingClientRect()
  2299.                       , t = document.body
  2300.                       , r = e.clientTop || t.clientTop || 0
  2301.                       , i = e.clientLeft || t.clientLeft || 0
  2302.                       , s = window.pageYOffset || e.scrollTop
  2303.                       , n = window.pageXOffset || e.scrollLeft;
  2304.                     return {
  2305.                         top: a.top + s - r,
  2306.                         left: a.left + n - i
  2307.                     }
  2308.                 }
  2309.                 return null
  2310.             },
  2311.             css: function(e, a) {
  2312.                 var t;
  2313.                 if (1 === arguments.length) {
  2314.                     if ("string" != typeof e) {
  2315.                         for (t = 0; t < this.length; t++)
  2316.                             for (var r in e)
  2317.                                 this[t].style[r] = e[r];
  2318.                         return this
  2319.                     }
  2320.                     if (this[0])
  2321.                         return window.getComputedStyle(this[0], null ).getPropertyValue(e)
  2322.                 }
  2323.                 if (2 === arguments.length && "string" == typeof e) {
  2324.                     for (t = 0; t < this.length; t++)
  2325.                         this[t].style[e] = a;
  2326.                     return this
  2327.                 }
  2328.                 return this
  2329.             },
  2330.             each: function(e) {
  2331.                 for (var a = 0; a < this.length; a++)
  2332.                     e.call(this[a], a, this[a]);
  2333.                 return this
  2334.             },
  2335.             html: function(e) {
  2336.                 if ("undefined" == typeof e)
  2337.                     return this[0] ? this[0].innerHTML : void 0;
  2338.                 for (var a = 0; a < this.length; a++)
  2339.                     this[a].innerHTML = e;
  2340.                 return this
  2341.             },
  2342.             text: function(e) {
  2343.                 if ("undefined" == typeof e)
  2344.                     return this[0] ? this[0].textContent.trim() : null ;
  2345.                 for (var a = 0; a < this.length; a++)
  2346.                     this[a].textContent = e;
  2347.                 return this
  2348.             },
  2349.             is: function(t) {
  2350.                 if (!this[0])
  2351.                     return !1;
  2352.                 var r, i;
  2353.                 if ("string" == typeof t) {
  2354.                     var s = this[0];
  2355.                     if (s === document)
  2356.                         return t === document;
  2357.                     if (s === window)
  2358.                         return t === window;
  2359.                     if (s.matches)
  2360.                         return s.matches(t);
  2361.                     if (s.webkitMatchesSelector)
  2362.                         return s.webkitMatchesSelector(t);
  2363.                     if (s.mozMatchesSelector)
  2364.                         return s.mozMatchesSelector(t);
  2365.                     if (s.msMatchesSelector)
  2366.                         return s.msMatchesSelector(t);
  2367.                     for (r = a(t),
  2368.                     i = 0; i < r.length; i++)
  2369.                         if (r[i] === this[0])
  2370.                             return !0;
  2371.                     return !1
  2372.                 }
  2373.                 if (t === document)
  2374.                     return this[0] === document;
  2375.                 if (t === window)
  2376.                     return this[0] === window;
  2377.                 if (t.nodeType || t instanceof e) {
  2378.                     for (r = t.nodeType ? [t] : t,
  2379.                     i = 0; i < r.length; i++)
  2380.                         if (r[i] === this[0])
  2381.                             return !0;
  2382.                     return !1
  2383.                 }
  2384.                 return !1
  2385.             },
  2386.             index: function() {
  2387.                 if (this[0]) {
  2388.                     for (var e = this[0], a = 0; null !== (e = e.previousSibling); )
  2389.                         1 === e.nodeType && a++;
  2390.                     return a
  2391.                 }
  2392.             },
  2393.             eq: function(a) {
  2394.                 if ("undefined" == typeof a)
  2395.                     return this;
  2396.                 var t, r = this.length;
  2397.                 return a > r - 1 ? new e([]) : 0 > a ? (t = r + a,
  2398.                 new e(0 > t ? [] : [this[t]])) : new e([this[a]])
  2399.             },
  2400.             append: function(a) {
  2401.                 var t, r;
  2402.                 for (t = 0; t < this.length; t++)
  2403.                     if ("string" == typeof a) {
  2404.                         var i = document.createElement("div");
  2405.                         for (i.innerHTML = a; i.firstChild; )
  2406.                             this[t].appendChild(i.firstChild)
  2407.                     } else if (a instanceof e)
  2408.                         for (r = 0; r < a.length; r++)
  2409.                             this[t].appendChild(a[r]);
  2410.                     else
  2411.                         this[t].appendChild(a);
  2412.                 return this
  2413.             },
  2414.             prepend: function(a) {
  2415.                 var t, r;
  2416.                 for (t = 0; t < this.length; t++)
  2417.                     if ("string" == typeof a) {
  2418.                         var i = document.createElement("div");
  2419.                         for (i.innerHTML = a,
  2420.                         r = i.childNodes.length - 1; r >= 0; r--)
  2421.                             this[t].insertBefore(i.childNodes[r], this[t].childNodes[0])
  2422.                     } else if (a instanceof e)
  2423.                         for (r = 0; r < a.length; r++)
  2424.                             this[t].insertBefore(a[r], this[t].childNodes[0]);
  2425.                     else
  2426.                         this[t].insertBefore(a, this[t].childNodes[0]);
  2427.                 return this
  2428.             },
  2429.             insertBefore: function(e) {
  2430.                 for (var t = a(e), r = 0; r < this.length; r++)
  2431.                     if (1 === t.length)
  2432.                         t[0].parentNode.insertBefore(this[r], t[0]);
  2433.                     else if (t.length > 1)
  2434.                         for (var i = 0; i < t.length; i++)
  2435.                             t[i].parentNode.insertBefore(this[r].cloneNode(!0), t[i])
  2436.             },
  2437.             insertAfter: function(e) {
  2438.                 for (var t = a(e), r = 0; r < this.length; r++)
  2439.                     if (1 === t.length)
  2440.                         t[0].parentNode.insertBefore(this[r], t[0].nextSibling);
  2441.                     else if (t.length > 1)
  2442.                         for (var i = 0; i < t.length; i++)
  2443.                             t[i].parentNode.insertBefore(this[r].cloneNode(!0), t[i].nextSibling)
  2444.             },
  2445.             next: function(t) {
  2446.                 return new e(this.length > 0 ? t ? this[0].nextElementSibling && a(this[0].nextElementSibling).is(t) ? [this[0].nextElementSibling] : [] : this[0].nextElementSibling ? [this[0].nextElementSibling] : [] : [])
  2447.             },
  2448.             nextAll: function(t) {
  2449.                 var r = []
  2450.                   , i = this[0];
  2451.                 if (!i)
  2452.                     return new e([]);
  2453.                 for (; i.nextElementSibling; ) {
  2454.                     var s = i.nextElementSibling;
  2455.                     t ? a(s).is(t) && r.push(s) : r.push(s),
  2456.                     i = s
  2457.                 }
  2458.                 return new e(r)
  2459.             },
  2460.             prev: function(t) {
  2461.                 return new e(this.length > 0 ? t ? this[0].previousElementSibling && a(this[0].previousElementSibling).is(t) ? [this[0].previousElementSibling] : [] : this[0].previousElementSibling ? [this[0].previousElementSibling] : [] : [])
  2462.             },
  2463.             prevAll: function(t) {
  2464.                 var r = []
  2465.                   , i = this[0];
  2466.                 if (!i)
  2467.                     return new e([]);
  2468.                 for (; i.previousElementSibling; ) {
  2469.                     var s = i.previousElementSibling;
  2470.                     t ? a(s).is(t) && r.push(s) : r.push(s),
  2471.                     i = s
  2472.                 }
  2473.                 return new e(r)
  2474.             },
  2475.             parent: function(e) {
  2476.                 for (var t = [], r = 0; r < this.length; r++)
  2477.                     e ? a(this[r].parentNode).is(e) && t.push(this[r].parentNode) : t.push(this[r].parentNode);
  2478.                 return a(a.unique(t))
  2479.             },
  2480.             parents: function(e) {
  2481.                 for (var t = [], r = 0; r < this.length; r++)
  2482.                     for (var i = this[r].parentNode; i; )
  2483.                         e ? a(i).is(e) && t.push(i) : t.push(i),
  2484.                         i = i.parentNode;
  2485.                 return a(a.unique(t))
  2486.             },
  2487.             find: function(a) {
  2488.                 for (var t = [], r = 0; r < this.length; r++)
  2489.                     for (var i = this[r].querySelectorAll(a), s = 0; s < i.length; s++)
  2490.                         t.push(i[s]);
  2491.                 return new e(t)
  2492.             },
  2493.             children: function(t) {
  2494.                 for (var r = [], i = 0; i < this.length; i++)
  2495.                     for (var s = this[i].childNodes, n = 0; n < s.length; n++)
  2496.                         t ? 1 === s[n].nodeType && a(s[n]).is(t) && r.push(s[n]) : 1 === s[n].nodeType && r.push(s[n]);
  2497.                 return new e(a.unique(r))
  2498.             },
  2499.             remove: function() {
  2500.                 for (var e = 0; e < this.length; e++)
  2501.                     this[e].parentNode && this[e].parentNode.removeChild(this[e]);
  2502.                 return this
  2503.             },
  2504.             add: function() {
  2505.                 var e, t, r = this;
  2506.                 for (e = 0; e < arguments.length; e++) {
  2507.                     var i = a(arguments[e]);
  2508.                     for (t = 0; t < i.length; t++)
  2509.                         r[r.length] = i[t],
  2510.                         r.length++
  2511.                 }
  2512.                 return r
  2513.             }
  2514.         },
  2515.         a.fn = e.prototype,
  2516.         a.unique = function(e) {
  2517.             for (var a = [], t = 0; t < e.length; t++)
  2518.                 -1 === a.indexOf(e[t]) && a.push(e[t]);
  2519.             return a
  2520.         }
  2521.         ,
  2522.         a
  2523.     }()), i = ["jQuery", "Zepto", "Dom7"], s = 0; s < i.length; s++)
  2524.         window[i[s]] && e(window[i[s]]);
  2525.     var n;
  2526.     n = "undefined" == typeof r ? window.Dom7 || window.Zepto || window.jQuery : r,
  2527.     n && ("transitionEnd"in n.fn || (n.fn.transitionEnd = function(e) {
  2528.         function a(s) {
  2529.             if (s.target === this)
  2530.                 for (e.call(this, s),
  2531.                 t = 0; t < r.length; t++)
  2532.                     i.off(r[t], a)
  2533.         }
  2534.         var t, r = ["webkitTransitionEnd", "transitionend", "oTransitionEnd", "MSTransitionEnd", "msTransitionEnd"], i = this;
  2535.         if (e)
  2536.             for (t = 0; t < r.length; t++)
  2537.                 i.on(r[t], a);
  2538.         return this
  2539.     }
  2540.     ),
  2541.     "transform"in n.fn || (n.fn.transform = function(e) {
  2542.         for (var a = 0; a < this.length; a++) {
  2543.             var t = this[a].style;
  2544.             t.webkitTransform = t.MsTransform = t.msTransform = t.MozTransform = t.OTransform = t.transform = e
  2545.         }
  2546.         return this
  2547.     }
  2548.     ),
  2549.     "transition"in n.fn || (n.fn.transition = function(e) {
  2550.         "string" != typeof e && (e += "ms");
  2551.         for (var a = 0; a < this.length; a++) {
  2552.             var t = this[a].style;
  2553.             t.webkitTransitionDuration = t.MsTransitionDuration = t.msTransitionDuration = t.MozTransitionDuration = t.OTransitionDuration = t.transitionDuration = e
  2554.         }
  2555.         return this
  2556.     }
  2557.     )),
  2558.     window.Swiper = t
  2559. }(),
  2560. "undefined" != typeof module ? module.exports = window.Swiper : "function" == typeof define && define.amd && define([], function() {
  2561.     "use strict";
  2562.     return window.Swiper
  2563. });
  2564. //# sourceMappingURL=maps/swiper.min.js.map



阅读(1859) | 评论(0) | 转发(0) |
0

上一篇:jQ 的AjAx请求

下一篇:Html5简单的效果

给主人留下些什么吧!~~