2026-02-05 17:08:59 +03:00

1 line
2.1 KiB
JavaScript

function isInsideOffCanvas(n,i=".off-canvas-content",t=8){let e=0,a=n[0];for(;a&&e<t;){if(a.matches(i))return!0;a=a.parentElement,e++}return!1}function fusionSetAnimationData(n){"off"===fusionAnimationsVars.status_css_animations||cssua.ua.mobile&&"desktop_and_mobile"!==fusionAnimationsVars.status_css_animations?jQuery("body").addClass("dont-animate").removeClass("do-animate"):(jQuery("body").addClass("do-animate").removeClass("dont-animate"),void 0!==n&&void 0!==n.data.custom&&jQuery(window).initElementAnimations())}!function(n){"use strict";window.awbAnimationObservers={},n.fn.initElementAnimations=function(i={}){if(!n.isEmptyObject(i)&&isInsideOffCanvas(i))return!1;n.each(window.awbAnimationObservers,(function(i,t){n.each(t[0],(function(n,i){t[1].unobserve(i)})),delete window.awbAnimationObservers[i]})),"IntersectionObserver"in window?n.each(fusion.getObserverSegmentation(n(".fusion-animated")),(function(i){var t=fusion.getAnimationIntersectionData(i),e=new IntersectionObserver((function(i,a){n.each(i,(function(i,a){var s,o,r,u,d,m=n(a.target),c=0;a.isIntersecting&&(d=!0,0!==t.threshold&&(n(window).height()<m.outerHeight()?n(window).height()/m.outerHeight()>a.intersectionRatio&&(d=!1):1>a.intersectionRatio&&(d=!1)),d&&(m.parents(".fusion-delayed-animation").length||(m.css("visibility","visible"),s=m.data("animationtype"),o=m.data("animationduration"),r=m.data("animationdelay"),m.addClass(s),o&&(m.css("animation-duration",o+"s"),c+=1e3*o),r&&(m.css("animation-delay",r+"s"),c+=1e3*r),c&&(u=m,setTimeout((function(){u.removeClass(s)}),c))),e.unobserve(a.target)))}))}),t);n(this).each((function(){e.observe(this)})),window.awbAnimationObservers[i]=[this,e]})):n(".fusion-animated").each((function(){n(this).parents(".fusion-delayed-animation").length||n(this).css("visibility","visible")}))}}(jQuery),jQuery(document).ready((function(){fusionSetAnimationData()})),jQuery(window).on("load",(function(){jQuery("body").hasClass("fusion-builder-live")||setTimeout((function(){jQuery(window).initElementAnimations()}),300)})),jQuery(window).on("CSSAnimations",{custom:!0},fusionSetAnimationData);