Red de conocimiento informático - Material del sitio web - Cómo usar JavaScript para controlar animaciones y transiciones CSS

Cómo usar JavaScript para controlar animaciones y transiciones CSS

A veces, los desarrolladores web consideran que las animaciones CSS son más difíciles de entender que las animaciones JavaScript. Aunque la animación CSS tiene sus limitaciones, es más eficiente que la mayoría de las bibliotecas de JavaScript porque puede utilizar aceleración de hardware. Los resultados definitivamente superarán nuestras expectativas.

Las animaciones y transiciones CSS, combinadas con algo de JavaScript, permiten animaciones aceleradas por hardware que son interactivamente más eficientes que la mayoría de las bibliotecas de JavaScript.

¡Entonces, comencemos! ¡Los más pequeños no pueden esperar!

Nota: las animaciones y las transiciones son diferentes

Las transiciones CSS se aplican cuando una propiedad específica de un elemento cambia, y esa propiedad pasa con el tiempo a su valor final, mientras que las animaciones CSS; simplemente realizan operaciones previamente definidas, proporcionan un control más preciso.

En este artículo analizaremos cada una de estas cuestiones.

Control de transiciones CSS

Hay innumerables preguntas en los foros de programación sobre cómo activar y pausar transiciones. Estos problemas se pueden resolver fácilmente utilizando JavaScript.

¿Cómo desencadenar una transición en un elemento? Cambiar el nombre de clase de un elemento activará la transición de ese elemento

¿Cómo pausar la transición de un elemento? En el punto donde desea pausar la transición, use getComputedStyle y getPropertyValue para obtener el valor de la propiedad CSS correspondiente del elemento y luego establezca la propiedad CSS correspondiente del elemento igual al valor de la propiedad CSS que acaba de obtener.

A continuación se muestra un ejemplo de este método.

transición de operación

.box {

margen: 30px;

alto: 50px;

ancho: 50px;

color de fondo: azul;

}

.box.horizTranslate {

-webkit -transition: 3s;

-moz-transition:3s;

-ms-transition:3s;

-o-transition:3s;

transición: 3s;

-o-transición: 3s;

transición: 3s;

margen izquierdo: 50% !importante;

}

Javascript puro

Efecto de ejecución: computedStyle = window.getComputedStyle(zoomOne),

backgroundSize = computedStyle.getPropertyValue("fondo-tamaño");

zoomOne.style.backgroundSize = backgroundSize;

zoomOne.classList.remove('zoom'); p>

}

// zoomOne:zoomout

document.getElementsByClassName('zoomout')[0].onclick = function(){

zoomOne.classList.remove('zoom');

zoomOne.style.backgroundSize = zoomOneBgSize;

}

// zoomTwo:zoom

$('.zoom:eq(1)').on('click',function(){

if(!zoomTwo. hasClass('zoom')){

zoomTwo.addClass('zoom');

}

});

// zoomTwo: pausa

$('.pause:eq(1)').on('click', function(){

var computedStyle = zoomTwo.css('tamaño de fondo'

zoomTwo.css('fondo-tamaño',computedStyle);

zoomTwo.removeClass('zoom');

});

// zoomTwo:zoomout

$('.zoomout:eq(1)').on('click',function(){

zoomTwo.removeClass (' zoom');

zoomTwo.css('fondo-tamaño',zoomTwoBgSize);

});

Reimpreso solo como referencia, los derechos de autor pertenecen al autor original. Te deseo una vida feliz y por favor acéptala si estás satisfecho