Tengo una presentación de diapositivas, que puede cambiar las diapositivas llamando a carousel.previous(); y carousel.next(); . Necesito detectar deslizamientos, pero solo hasta 1 deslizamiento por 1s (solo se toma el último deslizamiento debido a debounceTime en RxJS).
Una vez que deslizo el dedo hacia la derecha, consola.Registro el valor deltaX, pero solo de acuerdo con los requisitos previos enumerados anteriormente.
function nextSlide() { console.log("bah1"); carousel.next(); } function prevSlide() { console.log("bah2"); carousel.previous(); } if (location.pathname === "/") { var backgroundElement = document.querySelector('.carousel'); hammer = new Hammer(backgroundElement) hammer.on('panright panleft', function (event) { console.log(event.deltaX); if (event.deltaX > 250) { //_.debounce((event)=> { carousel.next(); }, 1000); _.debounce(nextSlide(), 1000); //event.preventDefault(); } if (event.deltaX < -250) { //_.debounce((event)=> { carousel.previous(); }, 1000); _.debounce(prevSlide(), 1000); //event.preventDefault(); } } ).pipe( map((event.deltaX) => event.deltaX.debounceTime(1000))).subscribe(x => console.log(x);) ) };Los errores son paréntesis faltantes o falta cerca de la función de flecha, lo que no tiene ningún sentido... Revisé la documentación, debounceTime solo toma argumentos.
¿Qué estoy haciendo mal?
Aparentemente, no logré que el código funcionara por completo, pero aquí está mi intento: https://stackblitz.com/edit/js-nzbkfq