SCRIPTWEBFLOWJAVASCRIPT

Transition de page slide up

La page sort par le haut en fondu, la suivante entre à sa place. Un seul script, aucun réglage, tous les liens internes sont pris en charge.

/ ÉTAPE 01

Copie-colle ce script dans le <body> de ton site Webflow

transition-de-page.html
<script>
document.addEventListener('DOMContentLoaded', function() {
  // Style initial
  document.body.style.transform = 'translateY(0)';
  document.body.style.opacity = '1';
  document.body.style.transition = 'transform 0.4s ease, opacity 0.4s ease';
  
  document.querySelectorAll('a').forEach(link => {
    if (link.hostname === window.location.hostname && 
        !link.href.includes('#') && 
        !link.hasAttribute('target')) {
      
      link.addEventListener('click', function(e) {
        e.preventDefault();
        
        // Effet slide up + fade
        document.body.style.transform = 'translateY(-20px)';
        document.body.style.opacity = '0';
        
        setTimeout(() => {
          window.location.href = link.href;
        }, 400);
      });
    }
  });
  
  // Animation d'entrée
  window.addEventListener('load', function() {
    document.body.style.transform = 'translateY(0)';
    document.body.style.opacity = '1';
  });
});
</script>

/ ATTENTION

Ne pas appliquer d'animations natives sur les liens de navigation pour éviter tout conflit.

/ OÙ LE COLLER

DansWebflow, Paramètres › Custom code

CUSTOM CODE

PARAMÈTRES DU PROJET

Head code

<!-- vide -->

Footer code

<script> … </script>

Les codes personnalisés ne s'appliquent qu'après publication.

Footer code, jamais Head

Le script doit s'exécuter après le contenu de la page. Dans le Head, il ne trouverait rien à animer.

Une seule fois pour tout le site

Il se pose au niveau du projet, pas page par page. Les blocs le trouvent tout seuls.

Publier pour activer

Tant que le site n'est pas publié, le code personnalisé ne tourne pas, même en aperçu.

/ À RETENIR

Le script prend tous les liens internes de la page, sauf les ancres et les liens qui ouvrent un nouvel onglet. Tu n'as aucune classe à poser.