Gestire le Animazioni Webflow con Wized

Nicola ToledoNicola Toledo
Sviluppo Frontend
·3 min di lettura

Il Problema

Webflow applica le animazioni agli elementi nel DOM al caricamento della pagina. Tuttavia, quando Wized carica dinamicamente gli elementi dopo il caricamento iniziale della pagina, queste animazioni non si applicano ai nuovi elementi inseriti. Questo può portare a un'esperienza utente meno coinvolgente.

In questo articolo, discuterò due soluzioni per affrontare questo problema: il reset delle interazioni Webflow tramite la Webflow JavaScript API e l'utilizzo di un controller esterno per gestire l'animazione.

1. Reset delle Interazioni Webflow

Il primo approccio consiste nel resettare tutte le interazioni Webflow utilizzando la Webflow JavaScript API. Questo metodo reinizializza tutte le animazioni della pagina.

Implementazione

Per resettare le interazioni Webflow, puoi utilizzare il seguente codice JavaScript:

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

Ad esempio, se vogliamo resettare le interazioni Webflow dopo che Wized ha caricato una lista di elementi, possiamo fare così:

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();
  });
});

Considerazioni

  • Reset Globale: Questo metodo resetta tutte le animazioni della pagina, non solo quelle relative agli elementi caricati dinamicamente.
  • Problemi con gli Stati Iniziali: Anche le animazioni con stati iniziali verranno resettate, il che potrebbe causare comportamenti indesiderati. Ad esempio, se hai un'animazione di caricamento con uno stato iniziale impostato su visibile, riapparirà dopo il reset, rischiando di compromettere l'esperienza utente.

2. Utilizzo di un Controller Esterno

Un approccio più controllato consiste nell'utilizzare un controller esterno per gestire le animazioni. Questo prevede di collegare l'animazione a un elemento presente nel DOM al caricamento della pagina e di attivarla programmaticamente dopo che Wized ha caricato il contenuto dinamico.

Implementazione

Supponiamo di avere un pulsante che attiva un'animazione. Ecco come implementarlo:

  1. Assicurati che il pulsante e l'elemento animato siano presenti al caricamento della pagina.
  2. Collega l'animazione Webflow al pulsante.
  3. Usa Wized per attivare programmaticamente il click sul pulsante, avviando così l'animazione.

Ecco un esempio:

Pannello Webflow
Pannello Webflow
Logica Wized
Logica Wized

Considerazioni

  • Controllo e Flessibilità: Questo approccio ti dà un controllo preciso su quali animazioni attivare, senza influenzare le altre.
  • Presenza degli Elementi: Sia l'elemento trigger (ad es. il pulsante) che l'elemento animato devono essere presenti nel DOM al caricamento della pagina, per garantire che Webflow possa collegare correttamente le animazioni.

Riassunto

In sintesi, quando si integrano le animazioni Webflow con Wized, si hanno due soluzioni principali:

  1. Reset delle Interazioni Webflow: Questo metodo resetta tutte le animazioni della pagina, ma può causare comportamenti indesiderati se non gestito con attenzione.
  2. Utilizzo di un Controller Esterno: Questa soluzione offre maggiore controllo attivando le animazioni in modo programmatico, garantendo che vengano interessate solo quelle desiderate.

La scelta dell'approccio dipende dal caso d'uso specifico. Se hai bisogno di un reset rapido e globale, il primo metodo può essere adatto. Tuttavia, se richiedi un controllo più granulare, l'utilizzo di un controller esterno è probabilmente la scelta migliore.

Implementando queste strategie, puoi mantenere un'esperienza utente dinamica e coinvolgente sui siti Webflow, anche quando usi Wized per caricare contenuti in modo dinamico.

Nicola Toledo

Hai un progetto in mente?

Vediamo se posso aiutarti

Prenota una chiamata gratuita