s
Présence Internationale Safetop
Leaders en sécurité sur 11 marchés stratégiques
🌍 11 pays de présence activeMOYEN-ORIENT
Émirats Arabes Unis
Pays avec présence Safetop
Autres pays
$ {info} ``` tooltip.classList.add('show'); updateTooltipPosition(element); } // Fonction pour masquer l'infobulle function hideTooltip() { tooltip.classList.remove('show'); } // Événements pour les pays SVG activeCountries.forEach(country => { const countryId = country.getAttribute('id'); const countryInfo = safetopCountries[countryId]; country.addEventListener('mouseenter', function(e) { if (countryInfo) { showTooltip(this, countryInfo.name, countryInfo.info); } }); country.addEventListener('mousemove', function(e) { updateTooltipPosition(e); }); country.addEventListener('mouseleave', hideTooltip); // Effet de clic pour mettre en valeur country.addEventListener('click', function() { activeCountries.forEach(c => c.style.transform = ''); this.style.transform = 'scale(1.05)'; this.style.transformOrigin = 'center'; }); }); // Événements pour les marqueurs markers.forEach(marker => { marker.addEventListener('mouseenter', function(e) { const title = this.querySelector('title'); if (title) { showTooltip(this, title.textContent); } }); marker.addEventListener('mousemove', function(e) { updateTooltipPosition(e); }); marker.addEventListener('mouseleave', hideTooltip); }); // Événement pour Émirats Arabes Unis uaeMarker.addEventListener('mouseenter', function() { showTooltip(this, 'Émirats Arabes Unis', 'Opérations au Moyen-Orient'); }); uaeMarker.addEventListener('mouseleave', hideTooltip); // Fonction pour mettre à jour la position de l'infobulle function updateTooltipPosition(e) { const rect = e.target.closest('.safetop-map-container').getBoundingClientRect(); const x = e.clientX - rect.left; const y = e.clientY - rect.top; tooltip.style.left = Math.min(x, rect.width - 220) + 'px'; tooltip.style.top = Math.max(y - 70, 10) + 'px'; } // Animation initiale séquentielle setTimeout(() => { activeCountries.forEach((country, index) => { setTimeout(() => { country.style.animation = 'pulse 0.8s ease-in-out'; setTimeout(() => { country.style.animation = ''; }, 800); }, index * 200); }); // Animer les marqueurs après les pays setTimeout(() => { markers.forEach((marker, index) => { setTimeout(() => { marker.style.animation = 'marker-bounce 1s ease-in-out'; }, index * 100); }); }, activeCountries.length * 200); }, 1000); // Effet de comptage animé const countElement = document.querySelector('.safetop-countries-count'); let count = 0; const target = 11; const increment = () => { if (count {count} pays de présence active`; setTimeout(increment, 100); } }; setTimeout(increment, 2000); });