jQuery(function($) { function closeAllOffCanvas(exceptID = null) { let anyOpen = false; // Track if another Off-Canvas remains open $(".e-off-canvas").each(function() { let canvasID = $(this).attr("id"); if (!exceptID || canvasID !== exceptID) { $(this).removeClass("e-off-canvas-visible") .addClass("e-off-canvas-hidden") .attr("aria-hidden", "true") .css({ "z-index": "10", "visibility": "hidden", "opacity": "0" }); // Full removal delay set to 0ms setTimeout(() => { if ($(this).attr("aria-hidden") === "true") { $(this).css("display", "none"); } }, 0); } else { anyOpen = true; // At least one Off-Canvas is still open } }); } function openOffCanvas(targetID) { let targetCanvas = $(targetID); if (targetCanvas.length) { // Close all others EXCEPT the one we're opening closeAllOffCanvas(targetID); // Open immediately with delay set to 0ms setTimeout(() => { targetCanvas.removeClass("e-off-canvas-hidden") .addClass("e-off-canvas-visible") .attr("aria-hidden", "false") .css({ "z-index": "9999", "visibility": "visible", "opacity": "1", "display": "block" }); // Ensure the White Background Stays Visible $("body").addClass("off-canvas-active"); // Force repaint after opening forceRepaint(); }, 0); } } // Decode Base64 function decodeBase64(str) { try { return atob(str); } catch (e) { return null; } } // Handle Elementor Off-Canvas OPEN clicks $(document).on('click', '[href*="elementor-action%3Aaction%3Doff_canvas%3Aopen"]', function(event) { event.preventDefault(); let href = decodeURIComponent($(this).attr("href")); let base64Match = href.match(/settings=([^&]+)/); if (base64Match) { let decodedSettings = decodeBase64(base64Match[1]); try { let settingsObj = JSON.parse(decodedSettings); if (settingsObj.id) { let offCanvasID = "#off-canvas-" + settingsObj.id; openOffCanvas(offCanvasID); } } catch (e) {} } }); // Handle Elementor Off-Canvas CLOSE clicks $(document).on('click', '[href*="elementor-action%3Aaction%3Doff_canvas%3Aclose"]', function(event) { event.preventDefault(); closeAllOffCanvas(); }); // Ensure all Off-Canvas elements start hidden (ONLY if NOT in Elementor Editor) function initializeOffCanvasVisibility() { // Check if the body does NOT have the Elementor edit mode class if (!$('body').hasClass('elementor-element-edit-mode')) { $(".e-off-canvas").each(function() { $(this).attr("aria-hidden", "true").css({ "z-index": "10", "visibility": "hidden", "opacity": "0", "display": "none" }); }); } } // Call the initialization function $(window).on('load', initializeOffCanvasVisibility); // Utility function to force repaint function forceRepaint() { if ($('body').length) { $('body')[0].style.display = 'none'; $('body')[0].offsetHeight; $('body')[0].style.display = ''; } } });

Rencontrez-nous à GITEX AFRICA 2025 ! 🚀

Rencontrez-nous à GITEX AFRICA 2025 ! 🚀

Nous avons le plaisir d'annoncer que nous exposerons à GITEX AFRICA 2025 - Venez nous rendre visite sur le stand Hahn 2D-11, de Du 14 au 16 avril en Marrakech, Maroc. GITEX AFRICA, l'un des événements technologiques les plus influents du continent africain, rassemble les leaders du secteur, les innovateurs et les décideurs pour explorer l'avenir de la transformation numérique.

Nos experts - Florian Blischke, Zakaria El Adnani et Mustapha Larhrouch - sera sur place pour présenter ses dernières innovations et partager des informations précieuses. Nous sommes impatients d'entrer en contact avec des pairs du secteur, d'explorer de nouvelles opportunités et de forger des partenariats significatifs.

📅 Date : Du 14 au 16 avril 2025

📍 Localisation : Marrakech, Maroc - Stand 2D-11

Nous nous réjouissons de vous accueillir sur notre stand - rendez-vous à Marrakech !

Pour plus d'informations, visitez notre site web à l'adresse suivante GITEX Africa – ; Le plus grand salon de la technologie et des startups en Afrique – ; Jouvoli

#GITEXAfrica2025 #TechAfrica #Innovation #Transformation numérique #FutureOfTech #AfricaTech #TechConference #Marrakech2025 #GlobalTech #TechLeaders #TechEvent #Jouvoli

Partager l'article :
FR