فهرست منبع

animated background less speed

ouidade 7 ماه پیش
والد
کامیت
b6764877da
2فایلهای تغییر یافته به همراه91 افزوده شده و 118 حذف شده
  1. 82 103
      web/themes/custom/colloque2024/js/animation_home.js
  2. 9 15
      web/themes/custom/colloque2024/template/page--front.html.twig

+ 82 - 103
web/themes/custom/colloque2024/js/animation_home.js

@@ -34,21 +34,17 @@ console.log(dropdowns1);
 Array.from(dropdowns1).forEach(dropdown1 => {
  function slideDown() {
   let translateY = 0; // Position de départ (en bas)
-  let duration = 6000; // Durée de l'animation en millisecondes
+  let duration = 17000; // Durée de l'animation en millisecondes
   let startTime = null; // Temps de départ de l'animation
   function animate(timestamp) {
     if (!startTime) startTime = timestamp; // Initialise le temps de départ si ce n'est pas déjà fait
     let progress = (timestamp - startTime) / duration; // Calcul de la progression de l'animation
-    progress = Math.min(progress, 0.3); // Limite la progression à 1 (pour éviter un dépassement)
-    progress = easeInOut(progress);
-    translateY = 65 * progress; // Déplacement d'un pixel vers le haut à chaque itération
+    progress = Math.min(progress, 0.3); // Limite la progression à 0.3 (pour éviter un dépassement)
+    translateY = 410 * progress * (0.48 - progress); // Réduction de la vitesse vers la fin de l'animation
     dropdown1.style.transform = `translateY(${translateY}%)`; // Appliquer la transformation
-    if (progress < 0.8) {
-      requestAnimationFrame(animate);
+    if (progress < 0.999999) {
+        requestAnimationFrame(animate);
     }
-  }
-  function easeInOut(t) {
-    return t < 0.5 ? 4 * t * t : -1 + (10 - 2 * t) * t;
 }
 requestAnimationFrame(animate);
 }
@@ -60,22 +56,18 @@ console.log(dropdowns2);
 Array.from(dropdowns2).forEach(dropdown2 => {
  function slideDown() {
   let translateY = 0; // Position de départ (en bas)
-  let duration = 9000; // Durée de l'animation en millisecondes
+  let duration = 20000; // Durée de l'animation en millisecondes
   let startTime = null; // Temps de départ de l'animation
   function animate(timestamp) {
     if (!startTime) startTime = timestamp; // Initialise le temps de départ si ce n'est pas déjà fait
     let progress = (timestamp - startTime) / duration; // Calcul de la progression de l'animation
     progress = Math.min(progress, 0.3); // Limite la progression à 1 (pour éviter un dépassement)
-    progress = easeInOut(progress);
-    translateY = 120 * progress; // Déplacement d'un pixel vers le haut à chaque itération
+    translateY = 280 * progress * (1 - progress); // Déplacement d'un pixel vers le haut à chaque itération
     dropdown2.style.transform = `translateY(${translateY}%)`; // Appliquer la transformation
-    if (progress < 0.8) {
+    if (progress < 0.999) {
       requestAnimationFrame(animate);
     }
   }
-  function easeInOut(t) {
-    return t < 0.5 ? 4 * t * t : -1 + (10 - 2 * t) * t;
-}
 requestAnimationFrame(animate);
 }
 slideDown(); // Lancer l'animation lorsque la page est chargée
@@ -86,22 +78,18 @@ console.log(dropdowns3);
 Array.from(dropdowns3).forEach(dropdown3 => {
  function slideDown() {
   let translateY = 0; // Position de départ (en bas)
-  let duration = 7000; // Durée de l'animation en millisecondes
+  let duration = 18000; // Durée de l'animation en millisecondes
   let startTime = null; // Temps de départ de l'animation
   function animate(timestamp) {
     if (!startTime) startTime = timestamp; // Initialise le temps de départ si ce n'est pas déjà fait
     let progress = (timestamp - startTime) / duration; // Calcul de la progression de l'animation
     progress = Math.min(progress, 0.5); // Limite la progression à 1 (pour éviter un dépassement)
-    progress = easeInOut(progress);
-    translateY = 75 * progress; // Déplacement d'un pixel vers le haut à chaque itération
+    translateY = 235 * progress * (1 - progress); // Déplacement d'un pixel vers le haut à chaque itération
     dropdown3.style.transform = `translateY(${translateY}%)`; // Appliquer la transformation
     if (progress < 0.8) {
       requestAnimationFrame(animate);
     }
   }
-  function easeInOut(t) {
-    return t < 0.5 ? 4 * t * t : -1 + (10 - 2 * t) * t;
-}
 requestAnimationFrame(animate);
 }
 slideDown(); // Lancer l'animation lorsque la page est chargée
@@ -112,22 +100,18 @@ console.log(dropdowns4);
 Array.from(dropdowns4).forEach(dropdown4 => {
  function slideDown() {
   let translateY = 0; // Position de départ (en bas)
-  let duration = 6000; // Durée de l'animation en millisecondes
+  let duration = 25000; // Durée de l'animation en millisecondes
   let startTime = null; // Temps de départ de l'animation
   function animate(timestamp) {
     if (!startTime) startTime = timestamp; // Initialise le temps de départ si ce n'est pas déjà fait
     let progress = (timestamp - startTime) / duration; // Calcul de la progression de l'animation
     progress = Math.min(progress, 0.5); // Limite la progression à 1 (pour éviter un dépassement)
-    progress = easeInOut(progress);
-    translateY = 85 * progress; // Déplacement d'un pixel vers le haut à chaque itération
+    translateY = 335 * progress * (1 - progress); // Déplacement d'un pixel vers le haut à chaque itération
     dropdown4.style.transform = `translateY(${translateY}%)`; // Appliquer la transformation
     if (progress < 0.8) {
       requestAnimationFrame(animate);
     }
   }
-  function easeInOut(t) {
-    return t < 0.5 ? 4 * t * t : -1 + (10 - 2 * t) * t;
-}
 requestAnimationFrame(animate);
 }
 slideDown(); // Lancer l'animation lorsque la page est chargée
@@ -138,51 +122,43 @@ let dropdowns5 = document.getElementsByClassName('dropdown5');
 console.log(dropdowns5);
 Array.from(dropdowns5).forEach(dropdown5 => {
  function slideDown() {
-  let translateY = 0; // Position de départ (en bas)
-  let duration = 6000; // Durée de l'animation en millisecondes
-  let startTime = null; // Temps de départ de l'animation
-  function animate(timestamp) {
-    if (!startTime) startTime = timestamp; // Initialise le temps de départ si ce n'est pas déjà fait
-    let progress = (timestamp - startTime) / duration; // Calcul de la progression de l'animation
-    progress = Math.min(progress, 0.5); // Limite la progression à 1 (pour éviter un dépassement)
-    progress = easeInOut(progress);
-    translateY = 70 * progress; // Déplacement d'un pixel vers le haut à chaque itération
-    dropdown5.style.transform = `translateY(${translateY}%)`; // Appliquer la transformation
-    if (progress < 0.8) {
-      requestAnimationFrame(animate);
+    let translateY = 0; // Position de départ (en bas)
+    let duration = 10000; // Durée de l'animation en millisecondes
+    let startTime = null; // Temps de départ de l'animation
+    function animate(timestamp) {
+      if (!startTime) startTime = timestamp; // Initialise le temps de départ si ce n'est pas déjà fait
+      let progress = (timestamp - startTime) / duration; // Calcul de la progression de l'animation
+      progress = Math.min(progress, 0.5); // Limite la progression à 1 (pour éviter un dépassement)
+      translateY = 200 * progress * (1 - progress); // Déplacement d'un pixel vers le haut à chaque itération
+      dropdown5.style.transform = `translateY(${translateY}%)`; // Appliquer la transformation
+      if (progress < 0.8) {
+        requestAnimationFrame(animate);
+      }
     }
+    requestAnimationFrame(animate);
   }
-  function easeInOut(t) {
-    return t < 0.5 ? 4 * t * t : -1 + (10 - 2 * t) * t;
-}
-requestAnimationFrame(animate);
-}
-slideDown(); // Lancer l'animation lorsque la page est chargée
+  slideDown(); // Lancer l'animation lorsque la page est chargée
 });
 
 let tolefts1 = document.getElementsByClassName('toleft1');
 Array.from(tolefts1).forEach(toleft1 => {
-    function slideLeft() {
-        let translateX = 0; // Position de départ (en bas)
-        let duration = 5000; // Durée de l'animation en millisecondes
-        let startTime = null; // Temps de départ de l'animation
-        function animate(timestamp) {
-            if (!startTime) startTime = timestamp; // Initialise le temps de départ si ce n'est pas déjà fait
-            let progress = (timestamp - startTime) / duration; // Calcul de la progression de l'animation
-            progress = Math.min(progress, 0.5); // Limite la progression à 1 (pour éviter un dépassement)
-            progress = easeInOut(progress);
-            translateX = -35 * progress; // -20 est la distance maximale à laquelle vous voulez déplacer l'élément
-            toleft1.style.transform = `translateX(${translateX}%)`;
-            if (progress < 0.8) {
-                requestAnimationFrame(animate);
-            }
-        }
-        function easeInOut(t) {
-            return t < 0.5 ? 4 * t * t : -1 + (4 - 2 * t) * t;
-        }
-        requestAnimationFrame(animate);
-    }
-    slideLeft(); // Lancer l'animation lorsque la page est chargée
+  function slideLeft() {
+      let translateX = 0; // Position de départ (en bas)
+      let duration = 10000; // Durée de l'animation en millisecondes
+      let startTime = null; // Temps de départ de l'animation
+      function animate(timestamp) {
+          if (!startTime) startTime = timestamp; // Initialise le temps de départ si ce n'est pas déjà fait
+          let progress = (timestamp - startTime) / duration; // Calcul de la progression de l'animation
+          progress = Math.min(progress, 0.5); // Limite la progression à 1 (pour éviter un dépassement)
+          translateX = -100 * progress * (1 - progress); // -20 est la distance maximale à laquelle vous voulez déplacer l'élément
+          toleft1.style.transform = `translateX(${translateX}%)`;
+          if (progress < 0.8) {
+              requestAnimationFrame(animate);
+          }
+      }
+      requestAnimationFrame(animate);
+  }
+  slideLeft(); // Lancer l'animation lorsque la page est chargée
 });
 
 
@@ -196,16 +172,12 @@ Array.from(tolefts2).forEach(toleft2 => {
             if (!startTime) startTime = timestamp; // Initialise le temps de départ si ce n'est pas déjà fait
             let progress = (timestamp - startTime) / duration; // Calcul de la progression de l'animation
             progress = Math.min(progress, 0.5); // Limite la progression à 1 (pour éviter un dépassement)
-            progress = easeInOut(progress);
-            translateX = -32 * progress; // -20 est la distance maximale à laquelle vous voulez déplacer l'élément
+            translateX = -32 * progress * (1 - progress); // -20 est la distance maximale à laquelle vous voulez déplacer l'élément
             toleft2.style.transform = `translateX(${translateX}%)`;
             if (progress < 0.8) {
                 requestAnimationFrame(animate);
             }
         }
-        function easeInOut(t) {
-            return t < 0.5 ? 4 * t * t : -1 + (4 - 2 * t) * t;
-        }
         requestAnimationFrame(animate);
     }
     slideLeft(); // Lancer l'animation lorsque la page est chargée
@@ -221,16 +193,12 @@ Array.from(tolefts3).forEach(toleft3 => {
             if (!startTime) startTime = timestamp; // Initialise le temps de départ si ce n'est pas déjà fait
             let progress = (timestamp - startTime) / duration; // Calcul de la progression de l'animation
             progress = Math.min(progress, 0.5); // Limite la progression à 1 (pour éviter un dépassement)
-            progress = easeInOut(progress);
-            translateX = -35 * progress; // -20 est la distance maximale à laquelle vous voulez déplacer l'élément
+            translateX = -45 * progress * (1 - progress); // -20 est la distance maximale à laquelle vous voulez déplacer l'élément
             toleft3.style.transform = `translateX(${translateX}%)`;
             if (progress < 0.8) {
                 requestAnimationFrame(animate);
             }
         }
-        function easeInOut(t) {
-            return t < 0.5 ? 4 * t * t : -1 + (4 - 2 * t) * t;
-        }
         requestAnimationFrame(animate);
     }
     slideLeft(); // Lancer l'animation lorsque la page est chargée
@@ -241,22 +209,18 @@ let tolefts4 = document.getElementsByClassName('toleft4');
 Array.from(tolefts4).forEach(toleft4 => {
     function slideLeft() {
         let translateX = 0; // Position de départ (en bas)
-        let duration = 5000; // Durée de l'animation en millisecondes
+        let duration = 8000; // Durée de l'animation en millisecondes
         let startTime = null; // Temps de départ de l'animation
         function animate(timestamp) {
             if (!startTime) startTime = timestamp; // Initialise le temps de départ si ce n'est pas déjà fait
             let progress = (timestamp - startTime) / duration; // Calcul de la progression de l'animation
             progress = Math.min(progress, 0.5); // Limite la progression à 1 (pour éviter un dépassement)
-            progress = easeInOut(progress);
-            translateX = -29 * progress; // -20 est la distance maximale à laquelle vous voulez déplacer l'élément
+            translateX = -110 * progress * (0.90 - progress); // -20 est la distance maximale à laquelle vous voulez déplacer l'élément
             toleft4.style.transform = `translateX(${translateX}%)`;
             if (progress < 0.8) {
                 requestAnimationFrame(animate);
             }
         }
-        function easeInOut(t) {
-            return t < 0.5 ? 4 * t * t : -1 + (4 - 2 * t) * t;
-        }
         requestAnimationFrame(animate);
     }
     slideLeft(); // Lancer l'animation lorsque la page est chargée
@@ -266,18 +230,24 @@ let torights1 = document.getElementsByClassName('toright1');
 Array.from(torights1).forEach(toright1 => {
  function slideRight() {
   let translateX = 0; // Position de départ (en bas)
-  function animate() {
-    translateX += 0.5; // Déplacement d'un pixel vers le haut à chaque itération
+  let duration = 13000; // Durée de l'animation en millisecondes
+  let startTime = null; // Temps de départ de l'animation
+  function animate(timestamp) {
+    if (!startTime) startTime = timestamp; // Initialise le temps de départ si ce n'est pas déjà fait
+    let progress = (timestamp - startTime) / duration; // Calcul de la progression de l'animation
+    progress = Math.min(progress, 0.5); // Limite la progression à 1 (pour éviter un dépassement)
+    translateX = 135 * progress * (0.99 - progress); // Déplacement d'un pixel vers le haut à chaque itération
     toright1.style.transform = `translateX(${translateX}%)`; // Appliquer la transformation
-    if (translateX < 31) { // Limite la hauteur à laquelle la forme doit être animée
+    if (progress < 0.8) { // Limite la hauteur à laquelle la forme doit être animée
       requestAnimationFrame(animate); // Appel récursif de la fonction animate
     }
   }
-  animate(); // Lancer l'animation
+  requestAnimationFrame(animate);
 }
 slideRight(); // Lancer l'animation lorsque la page est chargée
 });
 
+
 let torights2 = document.getElementsByClassName('toright2');
 Array.from(torights2).forEach(toright2 => {
  function slideRight() {
@@ -297,18 +267,22 @@ slideRight(); // Lancer l'animation lorsque la page est chargée
 
 
 let torights3 = document.getElementsByClassName('toright3');
-console.log(torights3)
 Array.from(torights3).forEach(toright3 => {
- function slideRight() {
+ function slideRight(timestamp) {
   let translateX = 0; // Position de départ (en bas)
-  function animate() {
-    translateX += 0.9; // Déplacement d'un pixel vers le haut à chaque itération
+  let duration = 13000; // Durée de l'animation en millisecondes
+  let startTime = null; // Temps de départ de l'animation
+  function animate(timestamp) {
+    if (!startTime) startTime = timestamp; // Initialise le temps de départ si ce n'est pas déjà fait
+    let progress = (timestamp - startTime) / duration; // Calcul de la progression de l'animation
+    progress = Math.min(progress, 0.5); // Limite la progression à 1 (pour éviter un dépassement)
+    translateX = 240 * progress * (0.98 - progress); // Déplacement d'un pixel vers le haut à chaque itération
     toright3.style.transform = `translateX(${translateX}%)`; // Appliquer la transformation
-    if (translateX < 59) { // Limite la hauteur à laquelle la forme doit être animée
+    if (progress < 0.8) { // Limite la hauteur à laquelle la forme doit être animée
       requestAnimationFrame(animate); // Appel récursif de la fonction animate
     }
   }
-  animate(); // Lancer l'animation
+  requestAnimationFrame(animate);
 }
 slideRight(); // Lancer l'animation lorsque la page est chargée
 });
@@ -317,17 +291,22 @@ slideRight(); // Lancer l'animation lorsque la page est chargée
 let moveups = document.getElementsByClassName('moveup');
 console.log(moveups);
 Array.from(moveups).forEach(moveup => {
- function slideUp() {
-  let translateY = 100; // Position de départ (en bas)
-  function animate() {
-    translateY -= 0.5; // Déplacement d'un pixel vers le haut à chaque itération
-    moveup.style.transform = `translateY(${translateY}%)`; // Appliquer la transformation
-    if (translateY > -0) { // Limite la hauteur à laquelle la forme doit être animée
-      requestAnimationFrame(animate); // Appel récursif de la fonction animate
+  function slideUp() {
+    let translateY = 0; // Position de départ (en bas)
+    let duration = 6000; // Durée de l'animation en millisecondes
+    let startTime = null; // Temps de départ de l'animation
+    function animate(timestamp) {
+      if (!startTime) startTime = timestamp; // Initialise le temps de départ si ce n'est pas déjà fait
+      let progress = (timestamp - startTime) / duration; // Calcul de la progression de l'animation
+      progress = Math.min(progress, 0.8); // Limite la progression à 1 (pour éviter un dépassement)
+      translateY = -10 * progress * (1 - progress); // Déplacement d'un pixel vers le haut à chaque itération
+      moveup.style.transform = `translateY(${translateY}%)`; // Appliquer la transformation
+      if (progress < 0.8) {
+        requestAnimationFrame(animate);
+      }
     }
-  }
-  animate(); // Lancer l'animation
-}
+    requestAnimationFrame(animate);
+  } 
 slideUp(); // Lancer l'animation lorsque la page est chargée
 });
 

تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 9 - 15
web/themes/custom/colloque2024/template/page--front.html.twig


برخی فایل ها در این مقایسه diff نمایش داده نمی شوند زیرا تعداد فایل ها بسیار زیاد است