PageSourceSearch

http://sante2d.fr/wp-content/themes/sante2d/assets/js/globale.js?ver=7.1.2

js sante2d.fr collected 2026-10-02 16:06:06 UTC 4,301 bytes, 124 lines download raw bytes

1document.addEventListener('DOMContentLoaded', function() {
2
3   const telLogo = document.querySelector('.tel-logo');
4
5
6   if (telLogo) {
7    telLogo.addEventListener('mouseover', function() {
8        telLogo.classList.add('active');
9
10    });
11
12    telLogo.addEventListener('mouseout', function() {
13        telLogo.classList.remove('active');
14    });
15  }
16
17  const button = document.getElementById('backToTopButton');
18  const circle = button.querySelector('.progress-ring__circle');
19  const radius = circle.r.baseVal.value;
20  const circumference = radius * 2 * Math.PI;
21
22  circle.style.strokeDasharray = `${circumference} ${circumference}`;
23  circle.style.strokeDashoffset = circumference;
24
25  function setProgress(percent) {
26    const offset = circumference - percent / 100 * circumference;
27    circle.style.strokeDashoffset = offset;
28  }
29
30  window.addEventListener('scroll', function() {
31    const scrollTop = window.pageYOffset || document.documentElement.scrollTop;
32    const height = document.documentElement.scrollHeight - window.innerHeight;
33    const scrolled = scrollTop / height;
34    setProgress(scrolled * 100);
35  });
36
37  button.addEventListener('click', function(event) {
38    event.preventDefault();
39    window.scrollTo({
40      top: 0,
41      behavior: 'smooth'
42    });
43  });
44
45  const bulleMobile = document.querySelector('.bulle-mobile');
46
47  if (bulleMobile) {
48      bulleMobile.addEventListener('click', function() {
49          const menu = document.querySelector('.menu-mobile');
50          if (menu.classList.contains('active')) {
51              menu.classList.add('closing');
52              menu.addEventListener('animationend', function() {
53                  menu.classList.remove('closing');
54                  menu.classList.remove('active');
55              }, { once: true });
56          } else {
57              menu.classList.add('active');
58          }
59      });
60  }
61  
62  const closeMenuMobile = document.querySelector('.close-menu-mobile');
63  
64  if (closeMenuMobile) {
65      closeMenuMobile.addEventListener('click', function() {
66          const menu = document.querySelector('.menu-mobile');
67          menu.classList.add('closing');
68          menu.addEventListener('animationend', function() {
69              menu.classList.remove('closing');
70              menu.classList.remove('active');
71          }, { once: true });
72      });
73  }
74
75  const hash = window.location.hash;
76    if (hash) {
77        const targetElement = document.getElementById(hash.substring(1));
78        if (targetElement) {
79            window.scrollTo({
80                top: targetElement.offsetTop,
81                behavior: 'smooth'
82            });
83        }
84    }
85
86    const cardPresta = document.querySelectorAll('.accompagnement .prestations .card-presta');
87
88    if(cardPresta) {
89        if(window.innerWidth > 1023) {
90            cardPresta.forEach(card => {
91                card.addEventListener('mouseenter', function() {
92                    const flecheText = card.querySelector('.fleche-text');
93                    const trait = card.querySelector('.trait');
94                    trait.style.opacity = 0;
95                    setTimeout(() => {
96                        trait.style.display = 'none';
97                        flecheText.style.display = 'flex';
98                        card.style.height = '550px';
99                        setTimeout(() => {
100                            flecheText.style.opacity = 1;
101                        }, 100);
102                    }, 100);
103                });
104
105                card.addEventListener('mouseleave', function() {
106                    const flecheText = card.querySelector('.fleche-text');
107                    const trait = card.querySelector('.trait');
108                    flecheText.style.opacity = 0;
109                    setTimeout(() => {
110                        flecheText.style.display = 'none';
111                        trait.style.display = 'block';
112                        card.style.height = '493px';
113                        setTimeout(() => {
114                            trait.style.opacity = 0.5;
115                        } ,100);
116                    }, 100);
117                    
118                });
119            });
120        }
121    }
122 
123
124})

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.