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

186
Visualizações
NG ElementRef en la transición CSS finalizada

Problema: la animación CSS está eliminando las compensaciones de eventos del mouse del componente secundario (que contiene lienzo html5). Solución: necesito activar un evento cuando finalice una transición de CSS.

dado:

 div{ -webkit-transition: margin-left 0.3s ease-in-out; -moz-transition: margin-left 0.3s ease-in-out; -o-transition: margin-left 0.3s ease-in-out; transition: margin-left 0.3s ease-in-out; &.animate{ margin-left: 3rem; } }

Puedo detectar cuándo se ha completado una transición de CSS mediante:

 whichTransitionEvent(){ var t; var el = document.createElement('fakeelement'); var transitions = { 'transition':'transitionend', 'OTransition':'oTransitionEnd', 'MozTransition':'transitionend', 'WebkitTransition':'webkitTransitionEnd' } for(t in transitions){ if( el.style[t] !== undefined ){ return transitions[t]; } } } theFunctionToInvoke(){ } listenForAnimationToFinish(){ const transitionEnd = this.whichTransitionEvent(); this.drawerContainer.nativeElement.addEventListener(transitionEnd, this.theFunctionToInvoke, false); }

El problema con esta solución es que la transición final no se activa en la carga inicial de la página. También podría agregar un tiempo de espera en ngAfterViewInit y esperar ~ 300 m, pero eso no es muy elegante.

Mi teoría de la causa raíz es que Javascript Mouse Events se actualiza cuando se activan los eventos de transición de CSS.

Fuentes:

  • https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/transitionend_event
  • Espera la transición css
about 4 years ago · Juan Pablo Isaza
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