Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

115
Views
Swiper salta a la diapositiva previamente activa en TransitionEnd

Estoy tratando de implementar el módulo de arrastre del mouse que permitiría atravesar todas las diapositivas en swiper con un solo arrastre del mouse igual a la altura total de la envoltura div (funcionalidad similar a la barra de desplazamiento pero que funciona sin importar dónde haga clic). Para ello he implementado el siguiente código:

 function longDrag({ swiper, extendParams, on }) { let prevY = null; on('sliderMove', (swiper, e) => { if (!swiper.params.debugger) return; if (!prevY) prevY = e.clientY; if (prevY < e.clientY) { swiper.slideNext(0, false); } if (prevY > e.clientY) { swiper.slidePrev(0, false); } prevY = e.clientY; }); on('slideChange', () => { if (!swiper.params.debugger) return; console.log( 'slideChange', swiper.previousIndex, '->', swiper.activeIndex ); }); }

Al ejecutar el código, se activa el evento slideChange que indica que el índice de la diapositiva activa cambia, sin embargo, en la diapositiva del navegador no cambia. Además, cuando finaliza el arrastre del mouse, el índice de la diapositiva activa vuelve a la primera diapositiva. He intentado modificar algunos otros eventos y parece que este regreso a la primera diapositiva es causado por algo justo después de que se emite el evento TransitionEnd; agregando

 on('transitionEnd', (swiper) => { throw new Error("Not an error, just workaround") });

a la función longDrag hace que el script funcione según lo previsto, sin embargo, no creo que esta sea la forma correcta de hacerlo.

about 4 years ago · Juan Pablo Isaza
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!