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

319
Views
JS: ¿Cómo recibir una notificación después de insertBefore ()?

¿Hay alguna forma de recibir una notificación, después de insertar un elemento en el DOM con insertBefore() , cuando este elemento se vuelve realmente visible/disponible para el usuario? ¿Especialmente para comenzar a aplicar transformaciones CSS en él?

problema completo

Perdóneme si esta pregunta es recurrente, no encontré una respuesta adecuada hasta ahora. Estoy tratando de implementar un sistema de diálogo emergente personalizado en un sitio web propio, similar a SweetAlert o algunos otros productos.

Me gustaría aplicar algunos efectos especiales cuando aparezca esta ventana emergente, como un oscurecimiento progresivo del fondo, así como un movimiento vertical lento en el cuadro mismo.

Para lograr todo esto, genero un gran elemento div fijo que cubre toda la pantalla (el fondo) y contiene el cuadro emergente. Cuando lo necesito, primero inserto este elemento como el primer elemento secundario de body , etiquetándolo con una clase invisible especial. Una vez insertada, elimino esta clase invisible del elemento y dejo que las reglas CSS hagan la magia.

El problema es que incluso si se elimina la clase después de haber insertado este elemento, este se representará solo cuando la función de Javascript se vaya, por lo tanto, directamente en su estado final.

Al hacer esto en una página inicial completa, el evento de load ayuda. Ahora me gustaría hacer lo mismo en una página existente.

Como siempre, estoy interesado en ambas soluciones a este problema (potencialmente XY): si hay una mejor manera de hacerlo, estaré feliz de descubrirla, pero de todos modos estoy interesado en resolver esta situación en particular.

Gracias de antemano a todos.

EDITAR: actualmente realizando pruebas en Firefox 82.0.2

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Gracias a los comentarios anteriores, aquí hay una solución válida para ambos problemas expuestos:

  • " Mutation Observer ", así como los antiguos " Mutation Events " (ahora en desuso) son la mejor manera de recibir una notificación cuando se inserta algo. Sin embargo, no ayudará con los problemas de animaciones, porque todavía no está garantizado que se renderice en este momento;
  • En lugar de aplicar una clase y luego otra para realizar una transición, es mejor definir una animación regular usando @keyframes que se reproduce solo una vez. Se garantiza que se reproducirá cuando aparezca el objeto, por definición.

Muchas gracias a "Pomax", F4st3r y epascarello por su ayuda.

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!