onScroll.js 899 B

123456789101112131415161718192021222324252627282930
  1. export default function onScroll() {
  2. const swiper = this;
  3. const {
  4. wrapperEl,
  5. rtlTranslate,
  6. enabled
  7. } = swiper;
  8. if (!enabled) return;
  9. swiper.previousTranslate = swiper.translate;
  10. if (swiper.isHorizontal()) {
  11. swiper.translate = -wrapperEl.scrollLeft;
  12. } else {
  13. swiper.translate = -wrapperEl.scrollTop;
  14. }
  15. // eslint-disable-next-line
  16. if (swiper.translate === 0) swiper.translate = 0;
  17. swiper.updateActiveIndex();
  18. swiper.updateSlidesClasses();
  19. let newProgress;
  20. const translatesDiff = swiper.maxTranslate() - swiper.minTranslate();
  21. if (translatesDiff === 0) {
  22. newProgress = 0;
  23. } else {
  24. newProgress = (swiper.translate - swiper.minTranslate()) / translatesDiff;
  25. }
  26. if (newProgress !== swiper.progress) {
  27. swiper.updateProgress(rtlTranslate ? -swiper.translate : swiper.translate);
  28. }
  29. swiper.emit('setTranslate', swiper.translate, false);
  30. }