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

1 line
2.0 KiB
JavaScript

!function(t){"use strict";function e(){var t=document.documentElement,e=document.body,n="scrollTop",o="scrollHeight";return(t[n]||e[n])/((t[o]||e[o])-t.clientHeight)*100}t(window).on("load fusion-element-render-fusion_lottie",(function(n,o){(void 0!==o?t('div[data-cid="'+o+'"]').find(".fusion-lottie-animation"):t(".fusion-lottie-animation")).each((function(){const n=t(this),o=n.find("lottie-player")[0],i=n.attr("data-path"),a=n.attr("data-trigger"),r=n.attr("data-scroll_relative_to"),s=n.attr("data-scroll_element"),c=n.attr("data-cursor_direction");let l=n.attr("data-start_point"),f=n.attr("data-end_point");o.load(i),t(o).off(),n.off(),t(o).on("load",(function(){const i=o.getLottie(),u=i.totalFrames;if(f=f&&100<f&&f>l?parseInt(u/100*f):u,l=l?parseInt(u/100*l):0,0==l&&f==u||i.playSegments([l,f],!0),"none"===a)o.play();else if("click"===a)n.on("click",(function(){o.play()}));else if("toggle"===a)n.on("click",(function(){o.togglePlay()}));else if("hover"===a)n.on("mouseenter",(function(){o.play()})),n.on("mouseleave",(function(){o.pause()}));else if("scroll"===a){if("page"===r){const n=parseInt(e());o.seek(n+"%"),t(window).on("scroll",(function(){const t=parseInt(e());o.seek(t+"%")}))}else if(window.LottieInteractivity){const t={player:o,mode:"scroll",actions:[{visibility:[0,1],type:"seek",frames:[l,f]}]};"element"===r&&""!==s&&(t.container=s),window.LottieInteractivity.create(t)}}else if("cursor"===a){if(window.LottieInteractivity){let t={x:[0,1],y:[-1,2]};"vertical"===c?t={x:[-1,2],y:[0,1]}:"both"===c&&(t={x:[0,1],y:[0,1]});const e={player:o,mode:"cursor",actions:[{position:t,type:"seek",frames:[l,f]}]};window.LottieInteractivity.create(e)}}else"IntersectionObserver"in window?t.each(fusion.getObserverSegmentation(n),(function(e){var n=fusion.getAnimationIntersectionData(e),i=new IntersectionObserver((function(e,n){t.each(e,(function(t,e){fusion.shouldObserverEntryAnimate(e,n)&&(o.play(),i.unobserve(e.target))}))}),n);t(this).each((function(){i.observe(this)}))})):t(this).each((function(){o.play()}))}))}))}))}(jQuery);