templates/home/index.html.twig line 1

Open in your IDE?
  1. {% extends 'base.html.twig' %}
  2. {% block title %}SVS - {{"ACCUEIL"|trans}}{% endblock %}
  3. {% block body %}
  4.     <style>
  5.         {% include "home/home.css" %}
  6.     </style>
  7.     <!-- Element -->
  8.     <div class="element1">
  9.         {% include "home/1/refait.html.twig" %}
  10.     </div>
  11.     <!-- Element -->
  12.     <div class="appElement element_about">
  13.         {% include "home/apropos/index.html.twig" %}
  14.     </div>
  15.     <!-- Element -->
  16.     <div class="appElement element_services">
  17.         {% include "home/serviceSlider/index.html.twig" %}
  18.     </div>
  19.     <!-- Element -->
  20.     <div class="appElement element_cadreSVS">
  21.         {% include "home/cadreSVS/element.html.twig" %}
  22.     </div>
  23.     <!-- Element -->
  24.     <div class="appElement element_equipements">
  25.         {% include "home/equipements/index.html.twig" %}
  26.     </div>
  27.     <!-- Element -->
  28.     <div class="appElement element_contact">
  29.         {% include "home/location/index.html.twig" %}
  30.     </div>
  31.     <!-- EXECUT SCRIPT FOR HOME PAGE -->
  32.     <script>
  33.         
  34.         // HERE @VAR IMPORTANT FOR THIS SCRIPT
  35.         var viewportHeight = window.innerHeight; 
  36.         var hasTitleServicesRun = false; // Variable pour suivre si initTitle_about a déjà été exécutée.
  37.         var hasTitleAboutRun = false; // Variable pour suivre si initTitle_about a déjà été exécutée.
  38.         var hasTitleEquipementsRun = false; // Variable pour suivre si initTyped_equipements a déjà été exécutée.
  39.         var hasTitleContactRun = false; // Variable pour suivre si initTyped_equipements a déjà été exécutée.
  40.         var hasTitleCadreSVSRun = false; // Variable pour suivre si initTyped_cadreSVS a déjà été exécutée.
  41.         
  42.         // HERE FUNCTION TITLE_SERVICE_ELEMENT
  43.         function initTitle_services() {
  44.             var typed_services = new Typed('.typed_services', {
  45.                 strings: [  '{{"Sécurité personnalisée, services diversifiés"|trans}}<br><span>{{"explorez l\'éventail de nos services"|trans}}</span>',
  46.                         ],
  47.                 typeSpeed: 15,
  48.                 startDelay: 250,
  49.                 backDelay: 2500,
  50.                 loop: false,
  51.                 cursorChar: '<i class="fas fa-circle"></i>',
  52.             });
  53.         }
  54.         // HERE FUNCTION TITLE_ABOUT_ELEMENT
  55.         function initTitle_about() {
  56.             var typed_about = new Typed('.typed_about', {
  57.                 strings: ['{{"SVS bâtisseurs de confiance"|trans}}<br><span>{{"gardiens de l\'innovation"|trans}} </span>'],
  58.                 typeSpeed: 25,
  59.                 startDelay: 250,
  60.                 backDelay: 2500,
  61.                 loop: false,
  62.                 cursorChar: '<i class="fas fa-circle"></i>',
  63.             });
  64.         }
  65.         // HERE FUNCTION TITLE_EQUIPEMENTS_ELEMENT
  66.         function initTyped_equipements() {
  67.             var typed_equipements = new Typed('.typed_equipements', {
  68.                 strings: [
  69.                     '{{"Sécurité renforcée par"|trans}}<br><span>{{"des équipements modernes et performants"|trans}}</span>',
  70.                 ],
  71.                 typeSpeed: 25,
  72.                 startDelay: 250,
  73.                 backDelay: 2500,
  74.                 loop: false,
  75.                 cursorChar: '<i class="fas fa-circle"></i>',
  76.             });
  77.         }
  78.         // Fonction pour le titre de l'élément element_cadreSVS
  79.         function initTyped_cadreSVS() {
  80.             var typed_cadreSVS = new Typed('.typed_cadreSVS', {
  81.                 strings: ['{{"Ligne de conduite"|trans}}<br><span>{{"en matiere de sécurité et de protéction"|trans}}</span>'],
  82.                 typeSpeed: 25,
  83.                 startDelay: 250,
  84.                 backDelay: 2500,
  85.                 loop: false,
  86.                 cursorChar: '<i class="fas fa-circle"></i>',
  87.             });
  88.         }
  89.         // HERE FUNCTION TITLE_CONTACT_ELEMENT
  90.         function initTyped_contact() {
  91.             var typed_contact = new Typed('.typed_contact', {
  92.                 strings: ['{{"Nos localisations"|trans}}<br><span>{{"Où nous trouver"|trans}}...</span>'],
  93.                 typeSpeed: 25,
  94.                 startDelay: 250,
  95.                 backDelay: 2500,
  96.                 loop: false,
  97.                 cursorChar: '<i class="fas fa-circle"></i>',
  98.             });
  99.         }
  100.         // HERE EXECUTION OF SCRIPT @HOME
  101.         window.addEventListener('scroll', function() 
  102.         {
  103.             // HERE @VAR FOR SERVICE ELEMENT RECTANGLE
  104.             var element_services = document.querySelector('.element_services');
  105.             var rectangle_services = element_services.getBoundingClientRect();
  106.             if (!hasTitleServicesRun && rectangle_services.top < viewportHeight && rectangle_services.bottom > 0) {
  107.                 initTitle_services();
  108.                 hasTitleServicesRun = true; // Marquer que la fonction a été exécutée.
  109.             }
  110.             // HERE @VAR FOR ABOUT ELEMENT RECTANGLE
  111.             var element_about = document.querySelector('.element_about');
  112.             var rectangle_about = element_about.getBoundingClientRect();
  113.             if (!hasTitleAboutRun && rectangle_about.top < viewportHeight && rectangle_about.bottom > 0) {
  114.                 initTitle_about();
  115.                 hasTitleAboutRun = true; // Marquer que la fonction a été exécutée.
  116.             }
  117.             // HERE @VAR FOR EQUIPEMENTS ELEMENT RECTANGLE
  118.             var element_equipements = document.querySelector('.element_equipements');
  119.             var rectangle_equipements = element_equipements.getBoundingClientRect();
  120.             if (!hasTitleEquipementsRun && rectangle_equipements.top < viewportHeight && rectangle_equipements.bottom > 0) {
  121.                 initTyped_equipements();
  122.                 hasTitleEquipementsRun = true; // Marquer que la fonction a été exécutée.
  123.             }
  124.             // Ici, vous pouvez ajouter la logique pour l'élément element_cadreSVS
  125.             var element_cadreSVS = document.querySelector('.element_cadreSVS');
  126.             var rectangle_cadreSVS = element_cadreSVS.getBoundingClientRect();
  127.             if (!hasTitleCadreSVSRun && rectangle_cadreSVS.top < viewportHeight && rectangle_cadreSVS.bottom > 0) {
  128.                 initTyped_cadreSVS();
  129.                 hasTitleCadreSVSRun = true; // Marquer que la fonction a été exécutée.
  130.             }
  131.             // HERE @VAR FOR CONTACT ELEMENT RECTANGLE
  132.             var element_contact   = document.querySelector('.element_contact');
  133.             var rectangle_contact = element_contact.getBoundingClientRect();
  134.             if (!hasTitleContactRun && rectangle_contact.top < viewportHeight && rectangle_contact.bottom > 0) {
  135.                 initTyped_contact();
  136.                 hasTitleContactRun = true; // Marquer que la fonction a été exécutée.
  137.             }
  138.         });
  139.     </script>
  140. {% endblock %}