1 ;(function(){ 2 let chck_if_gsap_loaded = setInterval(function(){ 3 const eleBuilder = document.querySelector('body').classList.contains("elementor-editor-active"); 4 if(window.gsap && window.ScrollTrigger && !eleBuilder){ 5 gsap.registerPlugin(ScrollTrigger); 6 image_mask(); 7 image_mask2(); 8 image_mask3(); 9 divider_shape() 10 clearInterval(chck_if_gsap_loaded); 11 } 12 }, 500); 13 14function image_mask(){ 15 16let revealContainers = document.querySelectorAll(".reveal"); 17 18revealContainers.forEach((container) => { 19 let image = container.querySelector("img"); 20 let tl = gsap.timeline({ 21 scrollTrigger: { 22 trigger: container, 23 toggleActions: "play none none reset", 24 } 25 }); 26 27 tl.set(container, { autoAlpha: 1 }); 28 tl.from(container, 1.5, { 29 xPercent: -100, 30 ease: Power2.out 31 }); 32 tl.from(image, 1.5, { 33 xPercent: 100, 34 scale: 3, 35 delay: -1.5, 36 ease: Power3.out 37 }); 38}); 39} 40 function image_mask2(){ 41let imageMask = document.querySelectorAll('.elementor-element .mask-shape.elementor-widget-image .elementor-widget-container img'); 42 imageMask.forEach(imageMask => { 43gsap.to(imageMask ,{ 44 scrollTrigger: { 45 trigger: imageMask, 46 start: 'top bottom', 47 end:'bottom bottom', 48 scrub:2 49 }, 50 webkitMaskSize: 250 + '%', 51 duration: 1 52 }); 53 }); 54} 55 56 function image_mask3(){ 57let imageMask = document.querySelectorAll('.elementor-element .mask-logo-shape.elementor-widget-image .elementor-widget-container img'); 58 imageMask.forEach(imageMask => { 59gsap.to(imageMask ,{ 60 scrollTrigger: { 61 trigger: imageMask, 62 start: 'top bottom', 63 end:'+=650px', 64 scrub:1.6 65 }, 66 webkitMaskSize: 88 + '%', 67 scale: 1, 68 duration: 1 69 }); 70 }); 71} 72 73 function divider_shape(){ 74let divider = document.querySelectorAll('.valeurs .elementor-shape-top'); 75 divider.forEach(divider => { 76gsap.to(divider ,{ 77 scrollTrigger: { 78 trigger: divider, 79 start: 'top 85%', 80 end:'+=550px', 81 scrub:2 82 }, 83 scale: 1, 84 duration: 1 85 }); 86 }); 87} 88 89})(); 90 91 92 93jQuery(document).ready(function($) { 94 if ($("#closed").hasClass("closed-default")) { 95var delay = 100; setTimeout(function() { 96$('.elementor-tab-title').removeClass('elementor-active'); 97 $('.elementor-tab-content').css('display', 'none'); }, delay); 98} 99});
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.