animation_home.js 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286
  1. // Récupérer la forme SVG
  2. let dropdowns1 = document.getElementsByClassName('dropdown1');
  3. console.log(dropdowns1);
  4. Array.from(dropdowns1).forEach(dropdown1 => {
  5. function slideDown() {
  6. let translateY = 0; // Position de départ (en bas)
  7. let duration = 17000; // Durée de l'animation en millisecondes
  8. let startTime = null; // Temps de départ de l'animation
  9. function animate(timestamp) {
  10. if (!startTime) startTime = timestamp; // Initialise le temps de départ si ce n'est pas déjà fait
  11. let progress = (timestamp - startTime) / duration; // Calcul de la progression de l'animation
  12. progress = Math.min(progress, 0.3); // Limite la progression à 0.3 (pour éviter un dépassement)
  13. translateY = 410 * progress * (0.48 - progress); // Réduction de la vitesse vers la fin de l'animation
  14. dropdown1.style.transform = `translateY(${translateY}%)`; // Appliquer la transformation
  15. if (progress < 0.999999) {
  16. requestAnimationFrame(animate);
  17. }
  18. }
  19. requestAnimationFrame(animate);
  20. }
  21. slideDown(); // Lancer l'animation lorsque la page est chargée
  22. });
  23. let dropdowns2 = document.getElementsByClassName('dropdown2');
  24. console.log(dropdowns2);
  25. Array.from(dropdowns2).forEach(dropdown2 => {
  26. function slideDown() {
  27. let translateY = 0; // Position de départ (en bas)
  28. let duration = 20000; // Durée de l'animation en millisecondes
  29. let startTime = null; // Temps de départ de l'animation
  30. function animate(timestamp) {
  31. if (!startTime) startTime = timestamp; // Initialise le temps de départ si ce n'est pas déjà fait
  32. let progress = (timestamp - startTime) / duration; // Calcul de la progression de l'animation
  33. progress = Math.min(progress, 0.3); // Limite la progression à 1 (pour éviter un dépassement)
  34. translateY = 280 * progress * (1 - progress); // Déplacement d'un pixel vers le haut à chaque itération
  35. dropdown2.style.transform = `translateY(${translateY}%)`; // Appliquer la transformation
  36. if (progress < 0.999) {
  37. requestAnimationFrame(animate);
  38. }
  39. }
  40. requestAnimationFrame(animate);
  41. }
  42. slideDown(); // Lancer l'animation lorsque la page est chargée
  43. });
  44. let dropdowns3 = document.getElementsByClassName('dropdown3');
  45. console.log(dropdowns3);
  46. Array.from(dropdowns3).forEach(dropdown3 => {
  47. function slideDown() {
  48. let translateY = 0; // Position de départ (en bas)
  49. let duration = 18000; // Durée de l'animation en millisecondes
  50. let startTime = null; // Temps de départ de l'animation
  51. function animate(timestamp) {
  52. if (!startTime) startTime = timestamp; // Initialise le temps de départ si ce n'est pas déjà fait
  53. let progress = (timestamp - startTime) / duration; // Calcul de la progression de l'animation
  54. progress = Math.min(progress, 0.5); // Limite la progression à 1 (pour éviter un dépassement)
  55. translateY = 235 * progress * (1 - progress); // Déplacement d'un pixel vers le haut à chaque itération
  56. dropdown3.style.transform = `translateY(${translateY}%)`; // Appliquer la transformation
  57. if (progress < 0.8) {
  58. requestAnimationFrame(animate);
  59. }
  60. }
  61. requestAnimationFrame(animate);
  62. }
  63. slideDown(); // Lancer l'animation lorsque la page est chargée
  64. });
  65. let dropdowns4 = document.getElementsByClassName('dropdown4');
  66. console.log(dropdowns4);
  67. Array.from(dropdowns4).forEach(dropdown4 => {
  68. function slideDown() {
  69. let translateY = 0; // Position de départ (en bas)
  70. let duration = 25000; // Durée de l'animation en millisecondes
  71. let startTime = null; // Temps de départ de l'animation
  72. function animate(timestamp) {
  73. if (!startTime) startTime = timestamp; // Initialise le temps de départ si ce n'est pas déjà fait
  74. let progress = (timestamp - startTime) / duration; // Calcul de la progression de l'animation
  75. progress = Math.min(progress, 0.5); // Limite la progression à 1 (pour éviter un dépassement)
  76. translateY = 335 * progress * (1 - progress); // Déplacement d'un pixel vers le haut à chaque itération
  77. dropdown4.style.transform = `translateY(${translateY}%)`; // Appliquer la transformation
  78. if (progress < 0.8) {
  79. requestAnimationFrame(animate);
  80. }
  81. }
  82. requestAnimationFrame(animate);
  83. }
  84. slideDown(); // Lancer l'animation lorsque la page est chargée
  85. });
  86. let dropdowns5 = document.getElementsByClassName('dropdown5');
  87. console.log(dropdowns5);
  88. Array.from(dropdowns5).forEach(dropdown5 => {
  89. function slideDown() {
  90. let translateY = 0; // Position de départ (en bas)
  91. let duration = 10000; // Durée de l'animation en millisecondes
  92. let startTime = null; // Temps de départ de l'animation
  93. function animate(timestamp) {
  94. if (!startTime) startTime = timestamp; // Initialise le temps de départ si ce n'est pas déjà fait
  95. let progress = (timestamp - startTime) / duration; // Calcul de la progression de l'animation
  96. progress = Math.min(progress, 0.5); // Limite la progression à 1 (pour éviter un dépassement)
  97. translateY = 200 * progress * (1 - progress); // Déplacement d'un pixel vers le haut à chaque itération
  98. dropdown5.style.transform = `translateY(${translateY}%)`; // Appliquer la transformation
  99. if (progress < 0.8) {
  100. requestAnimationFrame(animate);
  101. }
  102. }
  103. requestAnimationFrame(animate);
  104. }
  105. slideDown(); // Lancer l'animation lorsque la page est chargée
  106. });
  107. let tolefts1 = document.getElementsByClassName('toleft1');
  108. Array.from(tolefts1).forEach(toleft1 => {
  109. function slideLeft() {
  110. let translateX = 0; // Position de départ (en bas)
  111. let duration = 10000; // Durée de l'animation en millisecondes
  112. let startTime = null; // Temps de départ de l'animation
  113. function animate(timestamp) {
  114. if (!startTime) startTime = timestamp; // Initialise le temps de départ si ce n'est pas déjà fait
  115. let progress = (timestamp - startTime) / duration; // Calcul de la progression de l'animation
  116. progress = Math.min(progress, 0.5); // Limite la progression à 1 (pour éviter un dépassement)
  117. translateX = -100 * progress * (1 - progress); // -20 est la distance maximale à laquelle vous voulez déplacer l'élément
  118. toleft1.style.transform = `translateX(${translateX}%)`;
  119. if (progress < 0.8) {
  120. requestAnimationFrame(animate);
  121. }
  122. }
  123. requestAnimationFrame(animate);
  124. }
  125. slideLeft(); // Lancer l'animation lorsque la page est chargée
  126. });
  127. let tolefts2 = document.getElementsByClassName('toleft2');
  128. Array.from(tolefts2).forEach(toleft2 => {
  129. function slideLeft() {
  130. let translateX = 0; // Position de départ (en bas)
  131. let duration = 4000; // Durée de l'animation en millisecondes
  132. let startTime = null; // Temps de départ de l'animation
  133. function animate(timestamp) {
  134. if (!startTime) startTime = timestamp; // Initialise le temps de départ si ce n'est pas déjà fait
  135. let progress = (timestamp - startTime) / duration; // Calcul de la progression de l'animation
  136. progress = Math.min(progress, 0.5); // Limite la progression à 1 (pour éviter un dépassement)
  137. translateX = -32 * progress * (1 - progress); // -20 est la distance maximale à laquelle vous voulez déplacer l'élément
  138. toleft2.style.transform = `translateX(${translateX}%)`;
  139. if (progress < 0.8) {
  140. requestAnimationFrame(animate);
  141. }
  142. }
  143. requestAnimationFrame(animate);
  144. }
  145. slideLeft(); // Lancer l'animation lorsque la page est chargée
  146. });
  147. let tolefts3 = document.getElementsByClassName('toleft3');
  148. Array.from(tolefts3).forEach(toleft3 => {
  149. function slideLeft() {
  150. let translateX = 0; // Position de départ (en bas)
  151. let duration = 4000; // Durée de l'animation en millisecondes
  152. let startTime = null; // Temps de départ de l'animation
  153. function animate(timestamp) {
  154. if (!startTime) startTime = timestamp; // Initialise le temps de départ si ce n'est pas déjà fait
  155. let progress = (timestamp - startTime) / duration; // Calcul de la progression de l'animation
  156. progress = Math.min(progress, 0.5); // Limite la progression à 1 (pour éviter un dépassement)
  157. translateX = -45 * progress * (1 - progress); // -20 est la distance maximale à laquelle vous voulez déplacer l'élément
  158. toleft3.style.transform = `translateX(${translateX}%)`;
  159. if (progress < 0.8) {
  160. requestAnimationFrame(animate);
  161. }
  162. }
  163. requestAnimationFrame(animate);
  164. }
  165. slideLeft(); // Lancer l'animation lorsque la page est chargée
  166. });
  167. let tolefts4 = document.getElementsByClassName('toleft4');
  168. Array.from(tolefts4).forEach(toleft4 => {
  169. function slideLeft() {
  170. let translateX = 0; // Position de départ (en bas)
  171. let duration = 8000; // Durée de l'animation en millisecondes
  172. let startTime = null; // Temps de départ de l'animation
  173. function animate(timestamp) {
  174. if (!startTime) startTime = timestamp; // Initialise le temps de départ si ce n'est pas déjà fait
  175. let progress = (timestamp - startTime) / duration; // Calcul de la progression de l'animation
  176. progress = Math.min(progress, 0.5); // Limite la progression à 1 (pour éviter un dépassement)
  177. translateX = -110 * progress * (0.90 - progress); // -20 est la distance maximale à laquelle vous voulez déplacer l'élément
  178. toleft4.style.transform = `translateX(${translateX}%)`;
  179. if (progress < 0.8) {
  180. requestAnimationFrame(animate);
  181. }
  182. }
  183. requestAnimationFrame(animate);
  184. }
  185. slideLeft(); // Lancer l'animation lorsque la page est chargée
  186. });
  187. let torights1 = document.getElementsByClassName('toright1');
  188. Array.from(torights1).forEach(toright1 => {
  189. function slideRight() {
  190. let translateX = 0; // Position de départ (en bas)
  191. let duration = 13000; // Durée de l'animation en millisecondes
  192. let startTime = null; // Temps de départ de l'animation
  193. function animate(timestamp) {
  194. if (!startTime) startTime = timestamp; // Initialise le temps de départ si ce n'est pas déjà fait
  195. let progress = (timestamp - startTime) / duration; // Calcul de la progression de l'animation
  196. progress = Math.min(progress, 0.5); // Limite la progression à 1 (pour éviter un dépassement)
  197. translateX = 135 * progress * (0.99 - progress); // Déplacement d'un pixel vers le haut à chaque itération
  198. toright1.style.transform = `translateX(${translateX}%)`; // Appliquer la transformation
  199. if (progress < 0.8) { // Limite la hauteur à laquelle la forme doit être animée
  200. requestAnimationFrame(animate); // Appel récursif de la fonction animate
  201. }
  202. }
  203. requestAnimationFrame(animate);
  204. }
  205. slideRight(); // Lancer l'animation lorsque la page est chargée
  206. });
  207. let torights2 = document.getElementsByClassName('toright2');
  208. Array.from(torights2).forEach(toright2 => {
  209. function slideRight() {
  210. let translateX = 0; // Position de départ (en bas)
  211. function animate() {
  212. translateX += 0.5; // Déplacement d'un pixel vers le haut à chaque itération
  213. toright2.style.transform = `translateX(${translateX}%)`; // Appliquer la transformation
  214. if (translateX < 0) { // Limite la hauteur à laquelle la forme doit être animée
  215. requestAnimationFrame(animate); // Appel récursif de la fonction animate
  216. }
  217. }
  218. animate(); // Lancer l'animation
  219. }
  220. slideRight(); // Lancer l'animation lorsque la page est chargée
  221. });
  222. let torights3 = document.getElementsByClassName('toright3');
  223. Array.from(torights3).forEach(toright3 => {
  224. function slideRight(timestamp) {
  225. let translateX = 0; // Position de départ (en bas)
  226. let duration = 13000; // Durée de l'animation en millisecondes
  227. let startTime = null; // Temps de départ de l'animation
  228. function animate(timestamp) {
  229. if (!startTime) startTime = timestamp; // Initialise le temps de départ si ce n'est pas déjà fait
  230. let progress = (timestamp - startTime) / duration; // Calcul de la progression de l'animation
  231. progress = Math.min(progress, 0.5); // Limite la progression à 1 (pour éviter un dépassement)
  232. translateX = 240 * progress * (0.98 - progress); // Déplacement d'un pixel vers le haut à chaque itération
  233. toright3.style.transform = `translateX(${translateX}%)`; // Appliquer la transformation
  234. if (progress < 0.8) { // Limite la hauteur à laquelle la forme doit être animée
  235. requestAnimationFrame(animate); // Appel récursif de la fonction animate
  236. }
  237. }
  238. requestAnimationFrame(animate);
  239. }
  240. slideRight(); // Lancer l'animation lorsque la page est chargée
  241. });
  242. let moveups = document.getElementsByClassName('moveup');
  243. console.log(moveups);
  244. Array.from(moveups).forEach(moveup => {
  245. function slideUp() {
  246. let translateY = 0; // Position de départ (en bas)
  247. let duration = 6000; // Durée de l'animation en millisecondes
  248. let startTime = null; // Temps de départ de l'animation
  249. function animate(timestamp) {
  250. if (!startTime) startTime = timestamp; // Initialise le temps de départ si ce n'est pas déjà fait
  251. let progress = (timestamp - startTime) / duration; // Calcul de la progression de l'animation
  252. progress = Math.min(progress, 0.8); // Limite la progression à 1 (pour éviter un dépassement)
  253. translateY = -10 * progress * (1 - progress); // Déplacement d'un pixel vers le haut à chaque itération
  254. moveup.style.transform = `translateY(${translateY}%)`; // Appliquer la transformation
  255. if (progress < 0.8) {
  256. requestAnimationFrame(animate);
  257. }
  258. }
  259. requestAnimationFrame(animate);
  260. }
  261. slideUp(); // Lancer l'animation lorsque la page est chargée
  262. });