Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

303
Visualizações
reaccionar: deja de desplazarte al llegar a una sección específica

IU actual:

ingrese la descripción de la imagen aquí

Cuando quiero hacer es, cuando el pergamino llegue a la sección roja, el porcentaje comenzará a aumentar
ingrese la descripción de la imagen aquí El usuario no puede continuar desplazándose hacia abajo hasta que el porcentaje aumente al 100%. ingrese la descripción de la imagen aquí

Ejemplo: https://circleci.com/#advantage-flexibility

¿Cómo hacerlo?

Aplicación.js

 import "./styles.css"; import { useScrollPercentage } from "react-scroll-percentage"; export default function App() { const [ref, percentage] = useScrollPercentage({ /* Optional options */ threshold: 0 }); return ( <div className="App"> <h1>Hello CodeSandbox</h1> <h2>Start editing to see some magic happen!</h2>{" "} <h1>Hello CodeSandbox</h1> <h2>Start editing to see some magic happen!</h2> <h1>Hello CodeSandbox</h1> <h2>Start editing to see some magic happen!</h2> <div ref={ref} style={{ color: "red" }}> <h1> When the scroll arrive this div, the position of this div will become sticky, and the percentage will start to increase from 0 to 100. When arriving 100%, user can then scroll to next section </h1> <h2>{`Percentage scrolled: ${percentage.toPrecision(2)}%.`}</h2> </div> <h1>Hello CodeSandbox</h1> <h2>Start editing to see some magic happen!</h2> <h1>Hello CodeSandbox</h1> <h2>Start editing to see some magic happen!</h2> <h1>Hello CodeSandbox</h1> <h2>Start editing to see some magic happen!</h2> <h1>Hello CodeSandbox</h1> <h2>Start editing to see some magic happen!</h2> <h1>Hello CodeSandbox</h1> <h2>Start editing to see some magic happen!</h2> </div> ); }

Codesnadbox:
https://codesandbox.io/s/divine-bird-9fy50?file=/src/App.js:0-1365

over 4 years ago · Santiago Trujillo
3 Respostas
Responde à pergunta

0

  1. escriba un event.listener para el desplazamiento de la página (la etiqueta que contiene todo el texto) usando useRef en react-hooks

  2. encuentre el valor del eje y de la referencia que acaba de crear donde desea dejar de desplazarse.

  3. tiene un estado que contiene los porcentajes y un estado para el eje y en el que se encuentra ahora el usuario.

  4. cuando los porcentajes no sean 100 y se alcance el valor deseado en el eje y de la referencia actual, detenga el desplazamiento para la referencia que definió anteriormente.

  5. cuando los porcentajes cambiaron a 100, o el usuario se desplazó hacia arriba (lo que significa que el eje y actual es más pequeño que el punto de parada), permita el desplazamiento nuevamente.

over 4 years ago · Santiago Trujillo Relatório

0

¡Puedes usar CSS para hacer eso!

scroll-snap-stop es parte del módulo CSS Scroll Snap. El ajuste de desplazamiento se refiere a "bloquear" la posición de la ventana gráfica en elementos específicos de la página a medida que se desplaza la ventana (o un contenedor desplazable). Piense en un contenedor de ajuste de desplazamiento como poner un imán encima de un elemento que se adhiere a la parte superior de la ventana gráfica y obliga a la página a dejar de desplazarse allí mismo.

scroll-snap-stop le permite obligar al contenedor de ajuste de desplazamiento a ajustarse a un elemento en particular. Supongamos que se está desplazando dentro de un contenedor de ajuste de desplazamiento y le dio un giro gigante de la rueda del mouse. Normalmente, el navegador dejaría que la velocidad de su desplazamiento pasara por los puntos de ajuste hasta que se estableciera en un punto de ajuste cerca de donde normalmente terminaría el desplazamiento. Al configurar scroll-snap-stop, puede decirle al navegador que debe detenerse en un elemento en particular antes de permitir que el usuario lo pase.

Puede consultar más información --> scroll-snap-stop (css-tricks.com)

over 4 years ago · Santiago Trujillo Relatório

0

Puede usar Gsap ScrollTrigger estándar para lograr el resultado deseado en https://circleci.com .
Demostración en codesandbox

 import React, { useRef, useEffect, useState } from "react"; import "./styles.css"; import { gsap } from "gsap"; import { ScrollTrigger } from "gsap/ScrollTrigger"; export default function App() { const ref = useRef(null); const [progress, setProgress] = useState(0); const [tween, setTween] = useState(null); useEffect(() => { if (tween) return; gsap.registerPlugin(ScrollTrigger); let scrollTween = gsap.to(ref.current, { ease: "none", backgroundColor: "#DAF7A6", scrollTrigger: { trigger: ref.current, pin: true, anticipatePin: 1, invalidateOnRefresh: true, refreshPriority: 1, start: "top 0%", end: "+=300%", markers: false, toggleActions: "play reset play reset", onUpdate: (self) => { let p = (self.progress * 100).toFixed(1); setProgress(p); } } }); setTween(scrollTween); }, []); return ( <div className="App"> <div className="top"> <h1>Hello CodeSandbox</h1> <h2>Start editing to see some magic happen!</h2>{" "} <h1>Hello CodeSandbox</h1> <h2>Start editing to see some magic happen!</h2> <h1>Hello CodeSandbox</h1> <h2>Start editing to see some magic happen!</h2> </div> <div ref={ref} id="hscroll"> <h1> When the scroll arrive this div, the position of this div will become sticky, and the percentage will start to increase from 0 to 100. When arriving 100%, user can then scroll to next section </h1> <h2 id="output">{`Percentage scrolled: ${progress}%.`}</h2> </div> <div className="bottom"> <h1>Hello CodeSandbox</h1> <h2>Start editing to see some magic happen!</h2> <h1>Hello CodeSandbox</h1> <h2>Start editing to see some magic happen!</h2> <h1>Hello CodeSandbox</h1> <h2>Start editing to see some magic happen!</h2> <h1>Hello CodeSandbox</h1> <h2>Start editing to see some magic happen!</h2> <h1>Hello CodeSandbox</h1> <h2>Start editing to see some magic happen!</h2> </div> </div> ); }
over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda