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

258
Vistas
¿Cómo obtener los valores de desplazamiento de la barra de desplazamiento suave?

Dado que utilicé la barra de desplazamiento suave en mi proyecto react.js, ofrece resultados sorprendentemente fluidos en el desplazamiento, pero el problema al que me enfrento restringió todos mis eventos de desplazamiento anteriores.

Me di cuenta de que después de agregar la barra de desplazamiento suave, crea un div personalizado llamado **"scroll-content"** que tiene 100vh de alto, 100vw de ancho y contiene todos los componentes del proyecto como un elemento raíz. Es por eso que **Window.ScrollY o la función onScroll** no puede funcionar en esta situación, porque en este caso la ventana tiene un tamaño fijo y no se mueve a ningún lado. Solo los componentes dentro del div de la barra de desplazamiento suave se mueven hacia arriba/abajo.

Así que estoy tratando de obtener los valores de transformación de la barra de desplazamiento div. Porque este div tiene un atributo llamado **"transform: translate3d(0px,0px,0px)"** por defecto, y cambia solo después de desplazarse.

Por favor, ayúdenme a obtener los valores de este atributo.

Aquí está mi App.js que simplemente importa algunos componentes.
 import React from 'react'; import { Switch, Route } from 'react-router-dom'; import Home from './Home'; import CommingSoon from './CommingSoon'; import Navbar from './components/Navbar'; import Scroll from './components/SmoothScrollbar'; const App = () => { return ( <> <Scroll /> <Navbar/> <Switch> <Route exact path="/comming-soon" component={CommingSoon}/> <Route exact path="/" component={Home}/> </Switch> </> ); }; export default App;

Y aquí está mi SmoothScrollbar.js para configurar el desplazamiento.

 import { useEffect } from 'react'; import Scrollbar from 'smooth-scrollbar'; import OverscrollPlugin from 'smooth-scrollbar/plugins/overscroll' var options = { damping: 0.05, plugins: { overscroll: {...overscrolloptions} } } var overscrolloptions = { enable: true, damping: 0.1, effect: "bounce", maxOverscroll: 150 } const Scroll = () => { useEffect(() => { Scrollbar.use(OverscrollPlugin); Scrollbar.init(document.body, options); }, []) return null; } export default Scroll;
about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Puede obtener valores de compensación de la siguiente manera:

 Scrollbar.getAll()[0].addListener(function (status){ var offset = status.offset; // offset.y });
about 4 years ago · Juan Pablo Isaza Denunciar

0

Encontré cómo obtener un valor de compensación

 var Scrollbar = window.Scrollbar; var mainscrollbarOptions = { 'dumping': 0.08 } const scrollbar = Scrollbar.init(document.querySelector('#my-scrollbar-container'), mainscrollbarOptions); scrollbar.addListener(({ offset }) => { console.log( offset.y ); // offset y position console.log( document.querySelector('#my-element').getBoundingClientRect().top ); // my element distance from top });
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