effect-virtual-transition-end.js 911 B

1234567891011121314151617181920212223242526272829303132333435
  1. export default function effectVirtualTransitionEnd({
  2. swiper,
  3. duration,
  4. transformEl,
  5. allSlides
  6. }) {
  7. const {
  8. slides,
  9. activeIndex,
  10. $wrapperEl
  11. } = swiper;
  12. if (swiper.params.virtualTranslate && duration !== 0) {
  13. let eventTriggered = false;
  14. let $transitionEndTarget;
  15. if (allSlides) {
  16. $transitionEndTarget = transformEl ? slides.find(transformEl) : slides;
  17. } else {
  18. $transitionEndTarget = transformEl ? slides.eq(activeIndex).find(transformEl) : slides.eq(activeIndex);
  19. }
  20. $transitionEndTarget.transitionEnd(() => {
  21. if (eventTriggered) return;
  22. if (!swiper || swiper.destroyed) return;
  23. eventTriggered = true;
  24. swiper.animating = false;
  25. const triggerEvents = ['webkitTransitionEnd', 'transitionend'];
  26. for (let i = 0; i < triggerEvents.length; i += 1) {
  27. $wrapperEl.trigger(triggerEvents[i]);
  28. }
  29. });
  30. }
  31. }