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

262
Views
¿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 answers
Answer question

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 Report
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!