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

500
Vistas
Reaccionar Bootstrap: representación de información sobre herramientas de superposición en una posición incorrecta inicialmente

Estoy escribiendo una aplicación de arranque de reacción donde aparece un botón al final de una animación. Cuando aparece el botón por primera vez, quiero que aparezca una información sobre herramientas junto a él. Una vez que el usuario pasa el cursor por encima y fuera del botón, la información sobre herramientas debería desaparecer y volver a aparecer cada vez que el usuario pasa el cursor por encima del botón nuevamente. Logré que esto funcione como deseo, pero cuando coloco el botón donde quiero que esté (fijo en la parte inferior de la pantalla), la información sobre herramientas aparece inicialmente en la posición incorrecta (donde estaba el botón antes de ser colocado).

He creado dos ejemplos simples para demostrar este comportamiento.

En el primer ejemplo, el botón se coloca en la parte superior de la pantalla y la información sobre herramientas se comporta como este deseo:

 function Testing(){ const refLink = useRef(null); const [overlayOpen, setOverlayOpen] = useState(true); // Initially open const [textDone, setTextDone] = useState(false); useEffect(() => { const timeoutId = setTimeout(() => { setTextDone(true) },1000) return () => clearTimeout(timeoutId) },[]) return( <Container> <Row> {textDone ? <> <Button ref={refLink} onMouseOver={() => setOverlayOpen(true)} onMouseOut={() => setOverlayOpen(false)} > <FaComment/> </Button> <Overlay target={refLink.current} show={overlayOpen} onHide={() => setOverlayOpen(false)} rootClose placement={"bottom"}> <Tooltip> Submit a personal response! </Tooltip> </Overlay> </> : '' } </Row> </Container> ) } export default Testing

El estado textDone se establece en verdadero una vez que finaliza la "animación". Para simplificar el ejemplo, omití la animación y recreé el retraso con setTimeout .

El segundo ejemplo es idéntico, excepto por la siguiente clase .css agregada al elemento Fila en el que se anidan el botón, la superposición y la información sobre herramientas.

 .fixed-button{ position:fixed; right: 20px; bottom: 20px; }

Con esta adición, el botón termina donde lo quiero, pero la información sobre herramientas aparece primero en la parte superior de la pantalla. Una vez que paso el mouse sobre el botón, la información sobre herramientas se mueve a la posición correcta.

Aquí hay algunos gifs de los dos ejemplos.

Ejemplo 1 (la información sobre herramientas se comporta según lo previsto, pero el botón no está colocado en el lugar correcto)

Ejemplo 2 (botón colocado donde lo quiero pero la información sobre herramientas aparece inicialmente en el lugar equivocado)

Mi pregunta es: ¿cómo puedo hacer que la información sobre herramientas aparezca inicialmente en la posición correcta?

about 4 years ago · Juan Pablo Isaza
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