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

220
Vistas
¿Cómo desvanecer una diapositiva div usando animaciones CSS?

Hice una presentación de diapositivas simple con div s apilados uno encima del otro. Cambio el div en la pantalla con display:none o display:block .

Pero cuando agrego animaciones, encuentro un problema. El desvanecimiento funciona, pero no tengo idea de cómo desvanecer una diapositiva que desaparece. La diapositiva simplemente desaparece y no puedo obtener ningún método de desvanecimiento que haya encontrado que funcione. ¿Dónde está el error, por favor?

 let pages = document.getElementsByClassName("page"); let buttons = document.getElementsByClassName("page-button"); let currentPage = 0; pages[currentPage].style.display = "block"; for (let i = 0; i < buttons.length; i++) { buttons[i].addEventListener("click", () => changePage(i)); } function changePage(k) { pages[currentPage].style.display = "none"; pages[k].style.display = "block"; currentPage = k; }
 .content-container { display: flex; height: 90vh; } .page { position: absolute; display: none; width: 100%; height: 100%; animation: fadeIn 3s; } @keyframes fadeIn { 0% { opacity: 0; } 100% { opacity: 1; } } #slideshow { flex-grow: 1; position: relative; }
 <div class="content-container"> <div id="slideshow"> <div class="page" style="background-color: red;"></div> <div class="page" style="background-color: green;"></div> <div class="page" style="background-color: blue;"></div> </div> <button class="page-button">1</button> <button class="page-button">2</button> <button class="page-button">3</button> </div>

about 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

El problema es que está utilizando una pantalla ninguno, que eliminará instantáneamente el bloque de color y se desvanecerá desde el blanco.

Al hacer clic, establezca el color de fondo del 'contenedor de contenido' en el color del elemento que se eliminará, dando la impresión de desaparecer de ese color.

 var contentContainer = document.getElementsByClassName("content-container"); var replaceColour = pages[k].styles.getPropertyValue("background-color") contentContainer.style.backgroundColor = replaceColour;
about 4 years ago · Santiago Trujillo Denunciar

0

Para la animación utilizo la biblioteca llamada Animate.css. Echa un vistazo al siguiente enlace:

https://animate.style/

Puede instalar esta biblioteca con NPM:

npm install animate.css --save

Entonces puedes usar esta biblioteca así:

<div class="page animate__fadeOutLeft" style="background-color: green;">

about 4 years ago · Santiago Trujillo 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