Manejo de Animaciones de Webflow con Wized

Nicola ToledoNicola Toledo
Frontend Development
·4 min de lectura

El Problema

Webflow aplica animaciones a elementos en el DOM en la carga de página (page load). Sin embargo, cuando Wized carga elementos dinámicamente después de la carga inicial, estas increíbles interacciones y animaciones de Webflow no se aplastan correctamente a estos elementos insertados tardíamente. Esto puede causar una experiencia de usuario algo rota o menos inmersiva.

En este artículo, trataré dos soluciones para abarcar esta casuística: resetear la cola interaccional de la API de Webflow mediante JavaScript y también cómo usar un conector externo como gatillo programático de la animación.

1. Reiniciar o Resetear Interacciones en Webflow

El primer enfoque consiste en resetear de raíz todas las interacciones de Webflow utilizando su propia API mediante el cliente local. Este método reinicia por completo todas las animaciones rastreadas de la página en la que recaiga.

Implementación

Para resetear Webflow de esta forma debes introducir el siguiente JavaScript en tu estructura:

window.Webflow.destroy();
window.Webflow.ready();
window.Webflow.require("ix2")?.init();

Por ejemplo, si quisiéramos relanzar un nuevo ciclo a las animaciones de una lista que acaba de inyectarse mediante un array en Wized justo ayer cargada la capa visual lo tendríamos que montar como a continuación:

window.Wized = window.Wized || [];
window.Wized.push((Wized) => {
  const listElement = Wized.elements.get("listItem");

  listElement.on("list", () => {
    window.Webflow.destroy();
    window.Webflow.ready();
    window.Webflow.require("ix2")?.init();
  });
});

Consideraciones al ejecutar esto

  • Todo se rompe por un segundo (Global Reset): Este método barre y resetea TODAS las animaciones programadas del sitio o de esa ventana cargada; NO solo para las inyectadas.
  • Problemas en estados de inicio (Initial State): Animaciones que requieran mostrar algún estado desde el inicio podrían verse comprometidas si tenían transiciones antes cargadas de raíz; esto es clásico en animaciones y lógicas para "loading" y loaders (la rueda que gira cargando) la cual podría volver a emerger tras el borrado o reset global perturbando la experiencia UX del cliente en vez de esconderse finalmente.

2. Empleo de Controlador Externo Gatillo

Un entorno mucho más curado es gestionar esta problemática mediante un controlador o controlador externo (element trigger). Esto envuelve atacar la animación desde un punto escondido o localizable ya presente en tiempo 0 en el HTML e interactuando desde otro sitio justo cuando ese contenido nuevo traído desde base remota ha "vivido".

Implementación

Imagina la situación: existe un botón clave activando un pop-up que ha sido incrustado tras la carga de la grid para visualizar detalles de producto (traído post-carga). Como Webflow no lo ve, el pop-up no salta. Se le dotará el disparador sobre un botón vacío remoto que sí sabe funcionar.

  1. Asegúrate de que el botón detonador sí está insertado estático dentro del documento al arrancar la ventana (page load).
  2. Liga y atiende desde los apartados IX el salto interaccional de visualización o pop-up hacia este botón escondido.
  3. Luego, aplica la magia: usa el bloque código JavaScript y Wized de manera que presione al pulsar una interacción y fuerce "click()" por programa el botón falso tras finalizar la inyección del HTML dinámico nuevo.

Por ejemplo:

Webflow panel
Webflow panel
Wized logic
Wized logic

Consideraciones para este paso

  • Máximo control: Tú gobiernas; al pulsar sólo reacciona lo que ha estado allí pero ahora tiene información inyectada (las dinámicas cargadas antes pero no ligadas ahora lo están porque apuntas al activador general estático y nunca se ha ocultado otra rama o animación base como el loader).
  • Siempre presente: Tantos activadores y escondidos o interacciones maestras como quieras tienen que tener presencia permanente al originar y re-pintar la hoja de Webflow. Los botones gatillo jamás se esconderán en display:none en el diseñador (porque las interacciones mueren también para la etiqueta display, en este caso puedes meterle de tamaño cero en Absolute Ocultar de otra forma).

Resumen

Apostar en conjunción lo potente de lo visual en Webflow sobre Wized plantea soluciones:

  1. Reiniciar de raíz (Reset total): Vuelve a arrancar todo de cero re-evaluando las DOM pero trae roturas iniciales no evaluadas y lógicas para los loaders escondidos.
  2. Utilizar botoneras y puentes (Controladores Externos): Aporta seguridad pura atacando solo sobre algo pre-construido logrando fluidez segura con Wized para cada evento.

Decántate dependiendo tu tamaño del sistema o página. En paneles puros si Wized interconecta y hay demasiada ramificación de gatillos y todo se borra al cambiar pestaña (paginación en tablas o Grid): el control estático por Trigger gana siempre la partida si se diseña desde su concepción base.

Acoplando estos pasos, blindas a tu portal de roturas estéticas a base de inyección de recursos bajo la manta y evocar a lo premium un panel Wized e interactuar.

Nicola Toledo

¿Tienes un proyecto en mente?

Veamos si te puedo ayudar

Reserva una llamada gratuita