Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

268
Vistas
¿Cómo hacer que el carrusel se desplace solo cuando el cursor está sobre él, en lugar de en cualquier lugar de las ventanas?

Estoy usando react-elastic-carousel en mi aplicación para desplazarme verticalmente entre cuatro componentes y cada uno de ellos tiene información para mostrar cuando se desplaza por ellos. Lo que quiero hacer es que la función de desplazamiento se realice solo cuando el cursor esté en el carrusel y no en todas partes de la página, como sucede actualmente. como puedo hacer posible algun consejo? Muchas gracias.

Esto es lo que hice hasta ahora:

codesandbox.io/s/compassionate-leftpad-zzueys?file=/src/App.js

Noticias.js:

 import React, {useEffect, useRef } from "react"; import Carousel from "react-elastic-carousel"; import "./ news.css"; import { Center, Areas, Place, Others, } from "./Contents"; const News = () => { useEffect(() => { document.title = "News"; }); const prevItemObject = "prev"; const nextItemObject = "next"; const slider = useRef(null); function scroll(e) { if (slider === null) return 0; e.wheelDelta > 0 ? slider.current.onNextStart(prevItemObject, nextItemObject) : slider.current.onPrevStart(); } useEffect(() => { window.addEventListener("wheel", scroll, true); return () => { window.removeEventListener("wheel", scroll, false); }; }, []); return ( <div className="container"> <Carousel onScroll={scroll} verticalMode itemsToShow={1} enableSwipe={true} ref={slider} > <Relevant /> <SearchByAreas /> <FindAPlaceToLive /> <FindTheRightRoomie /> </Carousel> </div> ); }; export default News;

Aplicación.js:

 import React from "react"; import News from "./News"; const App = () => { return ( <div> <News /> </div> ); }; export default App;
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

su oyente de eventos de la rueda está en la ventana por ahora, escuchará todos los eventos de la rueda en la ventana. Tal vez podría agregar el oyente en la referencia del control deslizante de esta manera:

 slider.current.addEventListener("wheel", scroll, true);

¿Podría proporcionar una muestra de codepen, por favor? Sería más fácil probarlo ;)

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda