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

307
Visualizações
Eliminar en animación () no elimina

Tengo un #scenario identificación dividida que tiene varios elementos <p> como elementos secundarios. Quiero tener una función que los desvanezca uno por uno en orden inverso y luego los elimine del DOM. Estoy usando jQuery.

Mi código:

 function fadeAndDelete() { var elements = $("#scenario").children().get().reverse(); $.each( elements, function(index, element) { element.animate( {'color': 'rgba(0, 0, 0, 0)'}, 1000, function() { $(this).remove(); } ); } ) };

También traté de usar element.remove() y $(element).remove() , y ninguno de ellos funcionó.

Puntos de bonificación: en un mundo ideal, habría un intervalo de tiempo entre las eliminaciones del elemento (como si se usara una función sleep() entre los ciclos each()).

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

El animate() que estás usando es el DOM animado, no el de jquery:

https://developer.mozilla.org/en-US/docs/Web/API/Element/animate

animate(keyframes, options)

No hay un parámetro de devolución de llamada para esta función, por lo que no es que .remove() no funcione, es que nunca se llama a la función.

Para usar la animate de jquery, necesita un objeto jquery:

 $.each(elements, function(index, element) { $(element).animate(...

Sin embargo, tenga en cuenta que jquery es conocido por no poder animar colores sin un complemento adicional o usando css, por lo que su código no se animará, pero se llamará a .remove() .


Para el escenario de uno a la vez, puede usar setTimeout . Hay muchas respuestas existentes en SO para esto, pero aquí está su código:

 function fadeAndDelete() { var elements = $("#scenario").children().get().reverse(); $.each(elements, function(index, element) { setTimeout(function() { $(element).fadeOut(2000, function() { this.remove(); }); }, index*500); }); }; fadeAndDelete();
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <div id=scenario> <div>a</div> <div>b</div> <div>c</div> </div>

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