| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465 |
- /********************************************
- * REVOLUTION 5.4.5 EXTENSION - PARALLAX
- * @version: 2.2.3 (17.05.2017)
- * @requires jquery.themepunch.revolution.js
- * @author ThemePunch
- *********************************************/
- (function($) {
- "use strict";
- var _R = jQuery.fn.revolution,
- _ISM = _R.is_mobile(),
- extension = { alias:"Parallax Min JS",
- name:"revolution.extensions.parallax.min.js",
- min_core: "5.4.5",
- version:"2.2.3"
- };
- jQuery.extend(true,_R, {
-
- checkForParallax : function(container,opt) {
- if (_R.compare_version(extension).check==="stop") return false;
- var _ = opt.parallax;
- if (_.done) return;
- _.done = true;
- if (_ISM && _.disable_onmobile=="on") return false;
- if (_.type=="3D" || _.type=="3d") {
- punchgs.TweenLite.set(opt.c,{overflow:_.ddd_overflow});
- punchgs.TweenLite.set(opt.ul,{overflow:_.ddd_overflow});
- if (opt.sliderType!="carousel" && _.ddd_shadow=="on") {
- opt.c.prepend('<div class="dddwrappershadow"></div>')
- punchgs.TweenLite.set(opt.c.find('.dddwrappershadow'),{force3D:"auto",transformPerspective:1600,transformOrigin:"50% 50%", width:"100%",height:"100%",position:"absolute",top:0,left:0,zIndex:0});
- }
- }
-
- function setDDDInContainer(li) {
- if (_.type=="3D" || _.type=="3d") {
- li.find('.slotholder').wrapAll('<div class="dddwrapper" style="width:100%;height:100%;position:absolute;top:0px;left:0px;overflow:hidden"></div>');
- li.find('.tp-parallax-wrap').wrapAll('<div class="dddwrapper-layer" style="width:100%;height:100%;position:absolute;top:0px;left:0px;z-index:5;overflow:'+_.ddd_layer_overflow+';"></div>');
- // MOVE THE REMOVED 3D LAYERS OUT OF THE PARALLAX GROUP
- li.find('.rs-parallaxlevel-tobggroup').closest('.tp-parallax-wrap').wrapAll('<div class="dddwrapper-layertobggroup" style="position:absolute;top:0px;left:0px;z-index:50;width:100%;height:100%"></div>');
- var dddw = li.find('.dddwrapper'),
- dddwl = li.find('.dddwrapper-layer'),
- dddwlbg = li.find('.dddwrapper-layertobggroup');
- dddwlbg.appendTo(dddw);
-
- if (opt.sliderType=="carousel") {
- if (_.ddd_shadow=="on") dddw.addClass("dddwrappershadow");
- punchgs.TweenLite.set(dddw,{borderRadius:opt.carousel.border_radius});
- }
- punchgs.TweenLite.set(li,{overflow:"visible",transformStyle:"preserve-3d",perspective:1600});
- punchgs.TweenLite.set(dddw,{force3D:"auto",transformOrigin:"50% 50%"});
- punchgs.TweenLite.set(dddwl,{force3D:"auto",transformOrigin:"50% 50%",zIndex:5});
- punchgs.TweenLite.set(opt.ul,{transformStyle:"preserve-3d",transformPerspective:1600});
- }
- }
- opt.li.each(function() {
- setDDDInContainer(jQuery(this));
- });
- if ((_.type=="3D" || _.type=="3d") && opt.c.find('.tp-static-layers').length>0) {
- punchgs.TweenLite.set(opt.c.find('.tp-static-layers'),{top:0, left:0,width:"100%",height:"100%"});
- setDDDInContainer(opt.c.find('.tp-static-layers'));
- }
- _.pcontainers = new Array();
- _.pcontainer_depths = new Array();
- _.bgcontainers = new Array();
- _.bgcontainer_depths = new Array();
- opt.c.find('.tp-revslider-slidesli .slotholder, .tp-revslider-slidesli .rs-background-video-layer').each(function() {
- var t = jQuery(this),
- l = t.data('bgparallax') || opt.parallax.bgparallax;
- l = l == "on" ? 1 : l;
- if (l!==undefined && l!=="off") {
- _.bgcontainers.push(t);
- _.bgcontainer_depths.push(opt.parallax.levels[parseInt(l,0)-1]/100);
- }
- })
-
- for (var i = 1; i<=_.levels.length;i++)
- opt.c.find('.rs-parallaxlevel-'+i).each(function() {
- var pw = jQuery(this),
- tpw = pw.closest('.tp-parallax-wrap');
-
- tpw.data('parallaxlevel',_.levels[i-1])
- tpw.addClass("tp-parallax-container");
- _.pcontainers.push(tpw);
- _.pcontainer_depths.push(_.levels[i-1]);
- });
-
- if (_.type=="mouse" || _.type=="scroll+mouse" || _.type=="mouse+scroll" || _.type=="3D" || _.type=="3d") {
-
- container.mouseenter(function(event) {
- var currslide = container.find('.active-revslide'),
- t = container.offset().top,
- l = container.offset().left,
- ex = (event.pageX-l),
- ey = (event.pageY-t);
- currslide.data("enterx",ex);
- currslide.data("entery",ey);
- });
- container.on('mousemove.hoverdir, mouseleave.hoverdir, trigger3dpath',function(event,data) {
- var currslide = data && data.li ? data.li : container.find('.active-revslide');
-
- // CALCULATE DISTANCES
- if (_.origo=="enterpoint") {
- var t = container.offset().top,
- l = container.offset().left;
- if (currslide.data("enterx")==undefined) currslide.data("enterx",(event.pageX-l));
- if (currslide.data("entery")==undefined) currslide.data("entery",(event.pageY-t));
- var mh = currslide.data("enterx") || (event.pageX-l),
- mv = currslide.data("entery") || (event.pageY-t),
- diffh = (mh - (event.pageX - l)),
- diffv = (mv - (event.pageY - t)),
- s = _.speed/1000 || 0.4;
- } else {
- var t = container.offset().top,
- l = container.offset().left,
- diffh = (opt.conw/2 - (event.pageX-l)),
- diffv = (opt.conh/2 - (event.pageY-t)),
- s = _.speed/1000 || 3;
- }
-
- if (event.type=="mouseleave") {
- diffh = _.ddd_lasth || 0;
- diffv = _.ddd_lastv || 0;
- s = 1.5;
- }
-
- for (var i=0;i<_.pcontainers.length;i++) {
- var pc = _.pcontainers[i],
- bl = _.pcontainer_depths[i],
- pl = _.type=="3D" || _.type=="3d" ? bl/200 : bl/100,
- offsh = diffh * pl,
- offsv = diffv * pl;
- if (_.type=="scroll+mouse" || _.type=="mouse+scroll" )
- punchgs.TweenLite.to(pc,s,{force3D:"auto",x:offsh,ease:punchgs.Power3.easeOut,overwrite:"all"});
- else
- punchgs.TweenLite.to(pc,s,{force3D:"auto",x:offsh,y:offsv,ease:punchgs.Power3.easeOut,overwrite:"all"});
- };
- if (_.type=="3D" || _.type=="3d") {
- var sctor = '.tp-revslider-slidesli .dddwrapper, .dddwrappershadow, .tp-revslider-slidesli .dddwrapper-layer, .tp-static-layers .dddwrapper-layer';
- if (opt.sliderType==="carousel") sctor = ".tp-revslider-slidesli .dddwrapper, .tp-revslider-slidesli .dddwrapper-layer, .tp-static-layers .dddwrapper-layer";
- opt.c.find(sctor).each(function() {
- var t = jQuery(this),
- pl = _.levels[_.levels.length-1]/200,
- offsh = diffh * pl,
- offsv = diffv * pl,
- offrv = opt.conw == 0 ? 0 : Math.round((diffh / opt.conw * pl)*100) || 0,
- offrh = opt.conh == 0 ? 0 : Math.round((diffv / opt.conh * pl)*100) || 0,
- li = t.closest('li'),
- zz = 0,
- itslayer = false;
- if (t.hasClass("dddwrapper-layer")) {
- zz = _.ddd_z_correction || 65;
- itslayer = true;
- }
- if (t.hasClass("dddwrapper-layer")) {
- offsh=0;
- offsv=0;
- }
-
- if (li.hasClass("active-revslide") || opt.sliderType!="carousel")
- if (_.ddd_bgfreeze!="on" || (itslayer))
- punchgs.TweenLite.to(t,s,{rotationX:offrh, rotationY:-offrv, x:offsh, z:zz,y:offsv,ease:punchgs.Power3.easeOut,overwrite:"all"});
- else
- punchgs.TweenLite.to(t,0.5,{force3D:"auto",rotationY:0, rotationX:0, z:0,ease:punchgs.Power3.easeOut,overwrite:"all"});
- else
- punchgs.TweenLite.to(t,0.5,{force3D:"auto",rotationY:0,x:0,y:0, rotationX:0, z:0,ease:punchgs.Power3.easeOut,overwrite:"all"});
-
- if (event.type=="mouseleave")
- punchgs.TweenLite.to(jQuery(this),3.8,{z:0, ease:punchgs.Power3.easeOut});
- });
- }
- });
- if (_ISM)
- window.ondeviceorientation = function(event) {
- var y = Math.round(event.beta || 0)-70,
- x = Math.round(event.gamma || 0);
- var currslide = container.find('.active-revslide');
- if (jQuery(window).width() > jQuery(window).height()){
- var xx = x;
- x = y;
- y = xx;
- }
- var cw = container.width(),
- ch = container.height(),
- diffh = (360/cw * x),
- diffv = (180/ch * y),
- s = _.speed/1000 || 3,
- pcnts = [];
-
- currslide.find(".tp-parallax-container").each(function(i){
- pcnts.push(jQuery(this));
- });
- container.find('.tp-static-layers .tp-parallax-container').each(function(){
- pcnts.push(jQuery(this));
- });
- jQuery.each(pcnts, function() {
- var pc = jQuery(this),
- bl = parseInt(pc.data('parallaxlevel'),0),
- pl = bl/100,
- offsh = diffh * pl*2,
- offsv = diffv * pl*4;
- punchgs.TweenLite.to(pc,s,{force3D:"auto",x:offsh,y:offsv,ease:punchgs.Power3.easeOut,overwrite:"all"});
- });
-
- if (_.type=="3D" || _.type=="3d") {
- var sctor = '.tp-revslider-slidesli .dddwrapper, .dddwrappershadow, .tp-revslider-slidesli .dddwrapper-layer, .tp-static-layers .dddwrapper-layer';
- if (opt.sliderType==="carousel") sctor = ".tp-revslider-slidesli .dddwrapper, .tp-revslider-slidesli .dddwrapper-layer, .tp-static-layers .dddwrapper-layer";
- opt.c.find(sctor).each(function() {
- var t = jQuery(this),
- pl = _.levels[_.levels.length-1]/200,
- offsh = diffh * pl,
- offsv = diffv * pl*3,
- offrv = opt.conw == 0 ? 0 : Math.round((diffh / opt.conw * pl)*500) || 0,
- offrh = opt.conh == 0 ? 0 : Math.round((diffv / opt.conh * pl)*700) || 0,
- li = t.closest('li'),
- zz = 0,
- itslayer = false;
- if (t.hasClass("dddwrapper-layer")) {
- zz = _.ddd_z_correction || 65;
- itslayer = true;
- }
- if (t.hasClass("dddwrapper-layer")) {
- offsh=0;
- offsv=0;
- }
-
- if (li.hasClass("active-revslide") || opt.sliderType!="carousel")
- if (_.ddd_bgfreeze!="on" || (itslayer))
- punchgs.TweenLite.to(t,s,{rotationX:offrh, rotationY:-offrv, x:offsh, z:zz,y:offsv,ease:punchgs.Power3.easeOut,overwrite:"all"});
- else
- punchgs.TweenLite.to(t,0.5,{force3D:"auto",rotationY:0, rotationX:0, z:0,ease:punchgs.Power3.easeOut,overwrite:"all"});
- else
- punchgs.TweenLite.to(t,0.5,{force3D:"auto",rotationY:0,z:0,x:0,y:0, rotationX:0, ease:punchgs.Power3.easeOut,overwrite:"all"});
-
- if (event.type=="mouseleave")
- punchgs.TweenLite.to(jQuery(this),3.8,{z:0, ease:punchgs.Power3.easeOut});
- });
- }
- }
- }
-
- // COLLECT ALL ELEMENTS WHICH NEED FADE IN/OUT ON PARALLAX SCROLL
- var _s = opt.scrolleffect;
- _s.bgs = new Array();
- if (_s.on) {
- if (_s.on_slidebg==="on")
- for (var i=0;i<opt.allslotholder.length;i++) {
- _s.bgs.push(opt.allslotholder[i]);
- }
-
- _s.multiplicator_layers = parseFloat(_s.multiplicator_layers);
- _s.multiplicator = parseFloat(_s.multiplicator);
- }
- if (_s.layers!==undefined && _s.layers.length===0) _s.layers = false;
- if (_s.bgs!==undefined && _s.bgs.length===0) _s.bgs = false;
- _R.scrollTicker(opt,container);
- },
-
- scrollTicker : function(opt,container) {
- var faut;
- if (opt.scrollTicker!=true) {
- opt.scrollTicker = true;
- if (_ISM) {
- punchgs.TweenLite.ticker.fps(150);
- punchgs.TweenLite.ticker.addEventListener("tick",function() {_R.scrollHandling(opt);},container,false,1);
- } else {
- document.addEventListener('scroll',function(e) {
- _R.scrollHandling(opt,true);
- }, {passive:true});
- /*window.addEventListener('mousewheel',function(e) {
- _R.scrollHandling(opt,true);
- }, {passive:true});
- window.addEventListener('DOMMouseScroll',function() {_R.scrollHandling(opt,true);}, {passive:true});*/
- }
-
- }
- _R.scrollHandling(opt, true);
- },
- // - SET POST OF SCROLL PARALLAX -
- scrollHandling : function(opt,fromMouse,speedoverwrite) {
- opt.lastwindowheight = opt.lastwindowheight || window.innerHeight;
- opt.conh = opt.conh===0 || opt.conh===undefined ? opt.infullscreenmode ? opt.minHeight : opt.c.height() : opt.conh;
- if (opt.lastscrolltop==window.scrollY && !opt.duringslidechange && !fromMouse) return false;
- punchgs.TweenLite.delayedCall(0.2,saveLastScroll,[opt,window.scrollY]);
- var b = opt.c[0].getBoundingClientRect(),
- _v = opt.viewPort,
- _ = opt.parallax;
-
- var proc = b.top<0 || b.height>opt.lastwindowheight ? b.top / b.height : b.bottom>opt.lastwindowheight ? (b.bottom-opt.lastwindowheight) / b.height : 0;
- opt.scrollproc = proc;
- if (_R.callBackHandling)
- _R.callBackHandling(opt,"parallax","start");
- if (_v.enable) {
- var area = 1-Math.abs(proc);
- area = area<0 ? 0 : area;
- // To Make sure it is not any more in %
- if (!jQuery.isNumeric(_v.visible_area))
- if (_v.visible_area.indexOf('%')!==-1)
- _v.visible_area = parseInt(_v.visible_area)/100;
-
- if (1-_v.visible_area<=area) {
- if (!opt.inviewport) {
- opt.inviewport = true;
- _R.enterInViewPort(opt);
- }
- } else {
- if (opt.inviewport) {
- opt.inviewport = false;
- _R.leaveViewPort(opt);
- }
- }
- }
-
- // SCROLL BASED PARALLAX EFFECT
- if (_ISM && _.disable_onmobile=="on") return false;
- if (_.type!="3d" && _.type!="3D") {
- if (_.type=="scroll" || _.type=="scroll+mouse" || _.type=="mouse+scroll")
- if (_.pcontainers)
- for (var i=0;i<_.pcontainers.length;i++) {
- if (_.pcontainers[i].length>0) {
- var pc = _.pcontainers[i],
- pl = _.pcontainer_depths[i]/100,
- offsv = Math.round((proc * -(pl*opt.conh)*10))/10 || 0,
- s = speedoverwrite!==undefined ? speedoverwrite : _.speedls/1000 || 0;
- pc.data('parallaxoffset',offsv);
- punchgs.TweenLite.to(pc,s,{overwrite:"auto",force3D:"auto",y:offsv})
- }
- }
- if (_.bgcontainers)
- for (var i=0;i<_.bgcontainers.length;i++) {
- var t = _.bgcontainers[i],
- l = _.bgcontainer_depths[i],
- offsv = proc * -(l*opt.conh) || 0,
- s = speedoverwrite!==undefined ? speedoverwrite : _.speedbg/1000 || 0;
- punchgs.TweenLite.to(t,s,{position:"absolute",top:"0px",left:"0px",backfaceVisibility:"hidden",force3D:"true",y:offsv+"px"});
- }
- }
- // SCROLL BASED BLUR,FADE,GRAYSCALE EFFECT
- var _s = opt.scrolleffect;
- if (_s.on && (_s.disable_on_mobile!=="on" || !_ISM)) {
-
- var _fproc = Math.abs(proc)-(_s.tilt/100);
- _fproc = _fproc<0 ? 0 : _fproc;
- if (_s.layers!==false) {
- var fadelevel = 1 - (_fproc *_s.multiplicator_layers),
- seo = { backfaceVisibility:"hidden",force3D:"true",z:0.001,perspective:600};
- if (_s.direction=="top" && proc>=0) fadelevel=1;
- if (_s.direction=="bottom" && proc<=0) fadelevel=1;
- fadelevel = fadelevel>1 ? 1 : fadelevel < 0 ? 0 : fadelevel;
-
- if (_s.fade==="on")
- seo.opacity = fadelevel;
- if (_s.scale==="on") {
- var scalelevel = (fadelevel);
- seo.scale = 1+(1-scalelevel);
-
- }
- if (_s.blur==="on") {
- var blurlevel = (1-fadelevel) * _s.maxblur;
- seo['-webkit-filter'] = 'blur('+blurlevel+'px)';
- seo['filter'] = 'blur('+blurlevel+'px)';
- }
-
- if (_s.grayscale==="on") {
- var graylevel = (1-fadelevel) * 100,
- gf = 'grayscale('+graylevel+'%)';
- seo['-webkit-filter'] = seo['-webkit-filter']===undefined ? gf : seo['-webkit-filter']+' '+gf;
- seo['filter'] = seo['filter']===undefined ? gf: seo['filter']+' '+gf;
- }
- punchgs.TweenLite.set(_s.layers,seo);
- }
- if (_s.bgs!==false) {
- var fadelevel = 1 - (_fproc *_s.multiplicator),
- seo = { backfaceVisibility:"hidden",force3D:"true"};
- if (_s.direction=="top" && proc>=0) fadelevel=1;
- if (_s.direction=="bottom" && proc<=0) fadelevel=1;
- fadelevel = fadelevel>1 ? 1 : fadelevel < 0 ? 0 : fadelevel;
- if (_s.fade==="on")
- seo.opacity = fadelevel;
- if (_s.scale==="on") {
- var scalelevel = fadelevel;
- //seo.scale = scalelevel;
- punchgs.TweenLite.set(jQuery('.tp-kbimg-wrap'),{transformOrigin:"50% 50%",scale:scalelevel,force3D:true})
- }
- if (_s.blur==="on") {
- var blurlevel = (1-fadelevel) * _s.maxblur;
- seo['-webkit-filter'] = 'blur('+blurlevel+'px)';
- seo['filter'] = 'blur('+blurlevel+'px)';
- }
-
- if (_s.grayscale==="on") {
- var graylevel = (1-fadelevel) * 100,
- gf = 'grayscale('+graylevel+'%)';
- seo['-webkit-filter'] = seo['-webkit-filter']===undefined ? gf : seo['-webkit-filter']+' '+gf;
- seo['filter'] = seo['filter']===undefined ? gf: seo['filter']+' '+gf;
- }
- punchgs.TweenLite.set(_s.bgs,seo);
- }
- }
-
- if (_R.callBackHandling)
- _R.callBackHandling(opt,"parallax","end");
-
- }
-
- });
- function saveLastScroll(opt,st) { opt.lastscrolltop = st;}
- //// END OF PARALLAX EFFECT
- })(jQuery);
|