updateClickedSlide.js 964 B

123456789101112131415161718192021222324252627282930313233343536
  1. import $ from '../../shared/dom.js';
  2. export default function updateClickedSlide(e) {
  3. const swiper = this;
  4. const params = swiper.params;
  5. const slide = $(e).closest(`.${params.slideClass}`)[0];
  6. let slideFound = false;
  7. let slideIndex;
  8. if (slide) {
  9. for (let i = 0; i < swiper.slides.length; i += 1) {
  10. if (swiper.slides[i] === slide) {
  11. slideFound = true;
  12. slideIndex = i;
  13. break;
  14. }
  15. }
  16. }
  17. if (slide && slideFound) {
  18. swiper.clickedSlide = slide;
  19. if (swiper.virtual && swiper.params.virtual.enabled) {
  20. swiper.clickedIndex = parseInt($(slide).attr('data-swiper-slide-index'), 10);
  21. } else {
  22. swiper.clickedIndex = slideIndex;
  23. }
  24. } else {
  25. swiper.clickedSlide = undefined;
  26. swiper.clickedIndex = undefined;
  27. return;
  28. }
  29. if (params.slideToClickedSlide && swiper.clickedIndex !== undefined && swiper.clickedIndex !== swiper.activeIndex) {
  30. swiper.slideToClickedSlide();
  31. }
  32. }