PATH:
home
/
letacommog
/
les-compagnons
/
wp-content
/
plugins
/
elementor-extras
/
assets
/
lib
/
parallax-element
!function(e,t,o,s){e.parallaxElement=function(s,i){var n={scope:e(t),moveOutside:!1,type:"scroll",scroll:{relative:"middle",responsive:!1},mouse:{axis:"both",relative:"element",distance:null},speed:{desktop:.15,tablet:.15,mobile:.15},invert:!1,breakpoints:{mobile:768,tablet:1024}},l=this;l.opts={};var r=null,a=e(s),p=e(o),u=t.innerHeight,c=(p.height(),null),d=null,f=null,m=null,h=null,v=null,b=null,w=null,M=null,x=null,T=null,k=null,S=null,g=50,y=-1,O=0,P=!1,q=null;l.init=function(){l.opts=e.extend(!0,{},n,i),l._construct()},l._construct=function(){r=l.opts.scope,O=r.scrollTop(),l.setSpeed(l.opts.speed.desktop),l.setup(),l.events(),l.requestTick()},l.setup=function(){u=t.innerHeight,b=a.height(),w=a.width(),d=a.offset().top,m=d+b,c=r.scrollTop(),v=d+b/2,l.isTablet()&&l.setSpeed(l.opts.speed.tablet),l.isMobile()&&l.setSpeed(l.opts.speed.mobile),l.isDesktop()?r.on("mousemove",l.onMouseMove):r.off("mousemove",l.onMouseMove)},l.isTablet=function(){return r.width()<l.opts.breakpoints.tablet&&r.width()>=l.opts.breakpoints.mobile},l.isMobile=function(){return r.width()<l.opts.breakpoints.tablet&&r.width()<l.opts.breakpoints.mobile},l.isDesktop=function(){return r.width()>l.opts.breakpoints.tablet},l.events=function(){r.on("resize",l.setup),"mouse"===l.opts.type&&l.isDesktop()&&r.on("mousemove",l.onMouseMove),"scroll"===l.opts.type&&r.on("scroll",l.onScroll)},l.onMouseMove=function(e){T=e.clientX,S=e.clientY,l.requestTick()},l.onScroll=function(){O=r.scrollTop(),l.requestTick()},l.requestTick=function(){P||(q=requestAnimationFrame(l.update)),P=!0},l.setSpeed=function(e){M=parseFloat(e),M=l.opts.invert&&M>0?-M:M},l.update=function(){P=!1,l.opts.moveOutside?l.start():a.visible(!0,!1,"vertical")&&l.start()},l.start=function(){switch(l.opts.type){case"mouse":l.pan();break;default:l.move()}},l.move=function(){if(l.opts.scroll.responsive&&r.width()<l.opts.breakpoints[l.opts.scroll.responsive])return void l.clearProps();if(y!==O){y=O,g=100*(1-M+.1);var e=t.innerHeight;middleOfScreen=O+e/2,middleToMiddle=middleOfScreen-v,middleToTop=middleOfScreen-d,c=O+e,f=a.offset().top,h=f+b,pxSinceVisible=O-d+e,pPxSinceVisible=O-f+e,k="middle"===l.opts.scroll.relative?middleToMiddle:O,TweenMax.set(a,{y:k*M,x:0})}},l.pan=function(){if(T&&S){var o=a.offset().left+a.outerWidth()/2,s=a.offset().top-r.scrollTop()+a.outerHeight()/2,i=r.width()/2,n=e(t).height()/2,p="viewport"===l.opts.mouse.relative?i:o,u="viewport"===l.opts.mouse.relative?n:s,c=(r.width()-r.outerWidth())/2,d=T-p,f=(e(t).height()-e(t).outerHeight())/2,m=S-u;x=l.opts.inverse?c-d:c+d,k=l.opts.inverse?f-m:f+m,x*=.1*M,k*=.1*M;var h={ease:Power0.easeInOut};if("vertical"!==l.opts.mouse.axis&&"both"!==l.opts.mouse.axis||(h.y=k),"horizontal"!==l.opts.mouse.axis&&"both"!==l.opts.mouse.axis||(h.x=x),l.opts.mouse.distance){Math.floor(Math.sqrt(Math.pow(T-(a.offset().left+a.width()/2),2)+Math.pow(S-(a.offset().top-r.scrollTop()+a.height()/2),2)))>l.opts.mouse.distance?TweenMax.to(a,.3,{x:0,y:0,ease:Power0.easeInOut}):TweenMax.to(a,.3,h)}else TweenMax.to(a,.3,h)}},l.clearProps=function(){TweenMax.set(a,{clearProps:"all"})},l.destroy=function(){cancelAnimationFrame(q),l.clearProps(),r.off("scroll",l.onScroll).off("mousemove",l.onMouseMove).off("resize",l.setup),a.removeData("parallaxElement")},l.init()},e.fn.parallaxElement=function(t){return this.each(function(){if(void 0===e(this).data("parallaxElement")){var o=new e.parallaxElement(this,t);e(this).data("parallaxElement",o)}})}}(jQuery,window,document);
[+]
..
[-] parallax-element.min.js
[edit]
[-] parallax-element.js
[edit]