slideNext.js 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. /* eslint no-unused-vars: "off" */
  2. export default function slideNext(speed, runCallbacks, internal) {
  3. if (speed === void 0) {
  4. speed = this.params.speed;
  5. }
  6. if (runCallbacks === void 0) {
  7. runCallbacks = true;
  8. }
  9. const swiper = this;
  10. const {
  11. animating,
  12. enabled,
  13. params
  14. } = swiper;
  15. if (!enabled) return swiper;
  16. let perGroup = params.slidesPerGroup;
  17. if (params.slidesPerView === 'auto' && params.slidesPerGroup === 1 && params.slidesPerGroupAuto) {
  18. perGroup = Math.max(swiper.slidesPerViewDynamic('current', true), 1);
  19. }
  20. const increment = swiper.activeIndex < params.slidesPerGroupSkip ? 1 : perGroup;
  21. if (params.loop) {
  22. if (animating && params.loopPreventsSlide) return false;
  23. swiper.loopFix(); // eslint-disable-next-line
  24. swiper._clientLeft = swiper.$wrapperEl[0].clientLeft;
  25. }
  26. if (params.rewind && swiper.isEnd) {
  27. return swiper.slideTo(0, speed, runCallbacks, internal);
  28. }
  29. return swiper.slideTo(swiper.activeIndex + increment, speed, runCallbacks, internal);
  30. }