swiper-utils.js 6.9KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200
  1. (function (factory) {
  2. if (typeof module === "object" && typeof module.exports === "object") {
  3. var v = factory(require, exports);
  4. if (v !== undefined) module.exports = v;
  5. }
  6. else if (typeof define === "function" && define.amd) {
  7. define(["require", "exports"], factory);
  8. }
  9. })(function (require, exports) {
  10. "use strict";
  11. Object.defineProperty(exports, "__esModule", { value: true });
  12. function round(a) {
  13. return Math.floor(a);
  14. }
  15. exports.round = round;
  16. function inlineStyle(ele, styles) {
  17. if (ele) {
  18. if (ele.length) {
  19. for (var i = 0; i < ele.length; i++) {
  20. inlineStyle(ele[i], styles);
  21. }
  22. }
  23. else if (ele.nodeType) {
  24. var cssProps = Object.keys(styles);
  25. for (var i_1 = 0; i_1 < cssProps.length; i_1++) {
  26. ele.style[cssProps[i_1]] = styles[cssProps[i_1]];
  27. }
  28. }
  29. }
  30. }
  31. exports.inlineStyle = inlineStyle;
  32. function addClass(ele, className) {
  33. if (ele) {
  34. if (ele.length) {
  35. for (var i = 0; i < ele.length; i++) {
  36. addClass(ele[i], className);
  37. }
  38. }
  39. else if (ele.nodeType) {
  40. if (Array.isArray(className)) {
  41. className.forEach(function (cls) {
  42. ele.classList.add(cls);
  43. });
  44. }
  45. else {
  46. ele.classList.add(className);
  47. }
  48. }
  49. }
  50. }
  51. exports.addClass = addClass;
  52. function removeClass(ele, className) {
  53. if (ele) {
  54. if (ele.length) {
  55. for (var i = 0; i < ele.length; i++) {
  56. removeClass(ele[i], className);
  57. }
  58. }
  59. else if (ele.nodeType) {
  60. if (Array.isArray(className)) {
  61. className.forEach(function (cls) {
  62. ele.classList.remove(cls);
  63. });
  64. }
  65. else {
  66. ele.classList.remove(className);
  67. }
  68. }
  69. }
  70. }
  71. exports.removeClass = removeClass;
  72. function getElementIndex(ele) {
  73. var i = 0;
  74. if (ele) {
  75. while ((ele = ele.previousSibling) !== null) {
  76. if (ele.nodeType === 1)
  77. i++;
  78. }
  79. }
  80. return i;
  81. }
  82. exports.getElementIndex = getElementIndex;
  83. function queryChildren(parentEle, query) {
  84. if (parentEle) {
  85. return parentEle.querySelectorAll(query);
  86. }
  87. return [];
  88. }
  89. exports.queryChildren = queryChildren;
  90. function eachChild(parentEle, query, callback) {
  91. if (parentEle) {
  92. var nodes = parentEle.querySelectorAll(query);
  93. for (var i = 0; i < nodes.length; i++) {
  94. callback(nodes[i]);
  95. }
  96. }
  97. }
  98. exports.eachChild = eachChild;
  99. function transform(ele, val) {
  100. if (ele) {
  101. var elStyle = ele.style;
  102. elStyle.webkitTransform = elStyle.MsTransform = elStyle.msTransform = elStyle.transform = val;
  103. }
  104. }
  105. exports.transform = transform;
  106. function transition(ele, duration) {
  107. if (ele) {
  108. if (typeof duration !== 'string') {
  109. duration = duration + 'ms';
  110. }
  111. var elStyle = ele.style;
  112. elStyle.webkitTransitionDuration = elStyle.MsTransitionDuration = elStyle.msTransitionDuration = elStyle.transitionDuration = duration;
  113. }
  114. }
  115. exports.transition = transition;
  116. function triggerTransitionEnd(plt, ele) {
  117. try {
  118. var win = plt.win();
  119. var evt = new win.CustomEvent('transitionend', { bubbles: true, cancelable: true });
  120. ele.dispatchEvent(evt);
  121. }
  122. catch (e) { }
  123. }
  124. exports.triggerTransitionEnd = triggerTransitionEnd;
  125. function offset(ele, plt) {
  126. if (ele) {
  127. var box = plt.getElementBoundingClientRect(ele);
  128. var body = plt.doc().body;
  129. var win = plt.win();
  130. var clientTop = ele.clientTop || body.clientTop || 0;
  131. var clientLeft = ele.clientLeft || body.clientLeft || 0;
  132. var scrollTop = win.pageYOffset || ele.scrollTop;
  133. var scrollLeft = win.pageXOffset || ele.scrollLeft;
  134. return {
  135. top: box.top + scrollTop - clientTop,
  136. left: box.left + scrollLeft - clientLeft
  137. };
  138. }
  139. return null;
  140. }
  141. exports.offset = offset;
  142. function updateSlidesOffset(s) {
  143. for (var i = 0; i < s._slides.length; i++) {
  144. s._slides[i].swiperSlideOffset = isHorizontal(s) ? s._slides[i].offsetLeft : s._slides[i].offsetTop;
  145. }
  146. }
  147. exports.updateSlidesOffset = updateSlidesOffset;
  148. function isHorizontal(s) {
  149. return s.direction === 'horizontal';
  150. }
  151. exports.isHorizontal = isHorizontal;
  152. var formElements = ['INPUT', 'SELECT', 'TEXTAREA', 'BUTTON', 'VIDEO'];
  153. function isFormElement(el) {
  154. return !!el && formElements.indexOf(el.tagName) > -1;
  155. }
  156. exports.isFormElement = isFormElement;
  157. /*=========================
  158. Min/Max Translate
  159. ===========================*/
  160. function minTranslate(s) {
  161. return (-s._snapGrid[0]);
  162. }
  163. exports.minTranslate = minTranslate;
  164. function maxTranslate(s) {
  165. return (-s._snapGrid[s._snapGrid.length - 1]);
  166. }
  167. exports.maxTranslate = maxTranslate;
  168. exports.CLS = {
  169. // Classnames
  170. noSwiping: 'swiper-no-swiping',
  171. containerModifier: 'swiper-container-',
  172. slide: 'swiper-slide',
  173. slideActive: 'swiper-slide-active',
  174. slideDuplicateActive: 'swiper-slide-duplicate-active',
  175. slideVisible: 'swiper-slide-visible',
  176. slideDuplicate: 'swiper-slide-duplicate',
  177. slideNext: 'swiper-slide-next',
  178. slideDuplicateNext: 'swiper-slide-duplicate-next',
  179. slidePrev: 'swiper-slide-prev',
  180. slideDuplicatePrev: 'swiper-slide-duplicate-prev',
  181. wrapper: 'swiper-wrapper',
  182. bullet: 'swiper-pagination-bullet',
  183. bulletActive: 'swiper-pagination-bullet-active',
  184. buttonDisabled: 'swiper-button-disabled',
  185. paginationCurrent: 'swiper-pagination-current',
  186. paginationTotal: 'swiper-pagination-total',
  187. paginationHidden: 'swiper-pagination-hidden',
  188. paginationProgressbar: 'swiper-pagination-progressbar',
  189. paginationClickable: 'swiper-pagination-clickable',
  190. paginationModifier: 'swiper-pagination-',
  191. lazyLoading: 'swiper-lazy',
  192. lazyStatusLoading: 'swiper-lazy-loading',
  193. lazyStatusLoaded: 'swiper-lazy-loaded',
  194. lazyPreloader: 'swiper-lazy-preloader',
  195. notification: 'swiper-notification',
  196. preloader: 'preloader',
  197. zoomContainer: 'swiper-zoom-container',
  198. };
  199. });
  200. //# sourceMappingURL=swiper-utils.js.map