This commit is contained in:
zino
2021-02-17 19:15:28 +01:00
parent 1011e8b282
commit 0c88fa4a05
3047 changed files with 271147 additions and 4 deletions

View File

@@ -0,0 +1,298 @@
/********************************************
* REVOLUTION 5.0 EXTENSION - ACTIONS
* @version: 1.1 (25.11.2015)
* @requires jquery.themepunch.revolution.js
* @author ThemePunch
*********************************************/
(function($) {
var _R = jQuery.fn.revolution,
_ISM = _R.is_mobile();
///////////////////////////////////////////
// EXTENDED FUNCTIONS AVAILABLE GLOBAL //
///////////////////////////////////////////
jQuery.extend(true,_R, {
checkActions : function(_nc,opt,as) {
checkActions_intern(_nc,opt,as);
}
});
//////////////////////////////////////////
// - INITIALISATION OF ACTIONS - //
//////////////////////////////////////////
var checkActions_intern = function(_nc,opt,as) {
if (as)
jQuery.each(as,function(i,a) {
a.delay = parseInt(a.delay,0)/1000;
_nc.addClass("noSwipe");
// LISTEN TO ESC TO EXIT FROM FULLSCREEN
if (!opt.fullscreen_esclistener) {
if (a.action=="exitfullscreen" || a.action=="togglefullscreen") {
jQuery(document).keyup(function(e) {
if (e.keyCode == 27 && jQuery('#rs-go-fullscreen').length>0)
_nc.trigger(a.event);
});
opt.fullscreen_esclistener = true;
}
}
var tnc = a.layer == "backgroundvideo" ? jQuery(".rs-background-video-layer") : a.layer == "firstvideo" ? jQuery(".tp-revslider-slidesli").find('.tp-videolayer') : jQuery("#"+a.layer);
// COLLECT ALL TOGGLE TRIGGER TO CONNECT THEM WITH TRIGGERED LAYER
switch (a.action) {
case "togglevideo":
jQuery.each(tnc,function(i,_tnc) {
_tnc = jQuery(_tnc);
var videotoggledby = _tnc.data('videotoggledby');
if (videotoggledby == undefined)
videotoggledby = new Array();
videotoggledby.push(_nc);
_tnc.data('videotoggledby',videotoggledby)
});
break;
case "togglelayer":
jQuery.each(tnc,function(i,_tnc) {
_tnc = jQuery(_tnc);
var layertoggledby = _tnc.data('layertoggledby');
if (layertoggledby == undefined)
layertoggledby = new Array();
layertoggledby.push(_nc);
_tnc.data('layertoggledby',layertoggledby)
});
break;
case "toggle_mute_video":
jQuery.each(tnc,function(i,_tnc) {
_tnc = jQuery(_tnc);
var videomutetoggledby = _tnc.data('videomutetoggledby');
if (videomutetoggledby == undefined)
videomutetoggledby = new Array();
videomutetoggledby.push(_nc);
_tnc.data('videomutetoggledby',videomutetoggledby);
});
break;
case "toggleslider":
if (opt.slidertoggledby == undefined) opt.slidertoggledby = new Array();
opt.slidertoggledby.push(_nc);
break;
case "togglefullscreen":
if (opt.fullscreentoggledby == undefined) opt.fullscreentoggledby = new Array();
opt.fullscreentoggledby.push(_nc);
break;
}
_nc.on(a.event,function() {
var tnc = a.layer == "backgroundvideo" ? jQuery(".active-revslide .slotholder .rs-background-video-layer") : a.layer == "firstvideo" ? jQuery(".active-revslide .tp-videolayer").first() : jQuery("#"+a.layer);
if (a.action=="stoplayer" || a.action=="togglelayer" || a.action=="startlayer") {
if (tnc.length>0)
if (a.action=="startlayer" || (a.action=="togglelayer" && tnc.data('animdirection')!="in")) {
tnc.data('animdirection',"in");
var otl = tnc.data('timeline_out'),
base_offsetx = opt.sliderType==="carousel" ? 0 : opt.width/2 - (opt.gridwidth[opt.curWinRange]*opt.bw)/2,
base_offsety=0;
if (otl!=undefined) otl.pause(0).kill();
if (_R.animateSingleCaption) _R.animateSingleCaption(tnc,opt,base_offsetx,base_offsety,0,false,true);
var tl = tnc.data('timeline');
tnc.data('triggerstate',"on");
_R.toggleState(tnc.data('layertoggledby'));
punchgs.TweenLite.delayedCall(a.delay,function() {
tl.play(0);
},[tl]);
} else
if (a.action=="stoplayer" || (a.action=="togglelayer" && tnc.data('animdirection')!="out")) {
tnc.data('animdirection',"out");
tnc.data('triggered',true);
tnc.data('triggerstate',"off");
if (_R.stopVideo) _R.stopVideo(tnc,opt);
if (_R.endMoveCaption)
punchgs.TweenLite.delayedCall(a.delay,_R.endMoveCaption,[tnc,null,null,opt]);
_R.unToggleState(tnc.data('layertoggledby'))
}
} else {
if (_ISM && (a.action=='playvideo' || a.action=='stopvideo' || a.action=='togglevideo' || a.action=='mutevideo' || a.action=='unmutevideo' || a.action=='toggle_mute_video')) {
actionSwitches(tnc,opt,a,_nc);
} else {
punchgs.TweenLite.delayedCall(a.delay,function() {
actionSwitches(tnc,opt,a,_nc);
},[tnc,opt,a,_nc]);
}
}
});
switch (a.action) {
case "togglelayer":
case "startlayer":
case "playlayer":
case "stoplayer":
var tnc = jQuery("#"+a.layer);
if (tnc.data('start')!="bytrigger") {
tnc.data('triggerstate',"on");
tnc.data('animdirection',"in");
}
break;
}
})
}
var actionSwitches = function(tnc,opt,a,_nc) {
switch (a.action) {
case "scrollbelow":
_nc.addClass("tp-scrollbelowslider");
_nc.data('scrolloffset',a.offset);
_nc.data('scrolldelay',a.delay);
var off=getOffContH(opt.fullScreenOffsetContainer) || 0,
aof = parseInt(a.offset,0) || 0;
off = off - aof || 0;
jQuery('body,html').animate({scrollTop:(opt.c.offset().top+(jQuery(opt.li[0]).height())-off)+"px"},{duration:400});
break;
case "callback":
eval(a.callback);
break;
case "jumptoslide":
switch (a.slide.toLowerCase()) {
case "+1":
case "next":
opt.sc_indicator="arrow";
_R.callingNewSlide(opt,opt.c,1);
break;
case "previous":
case "prev":
case "-1":
opt.sc_indicator="arrow";
_R.callingNewSlide(opt,opt.c,-1);
break;
default:
var ts = jQuery.isNumeric(a.slide) ? parseInt(a.slide,0) : a.slide;
_R.callingNewSlide(opt,opt.c,ts);
break;
}
break;
case "simplelink":
window.open(a.url,a.target);
break;
case "toggleslider":
opt.noloopanymore=0;
if (opt.sliderstatus=="playing") {
opt.c.revpause();
_R.unToggleState(opt.slidertoggledby);
}
else {
opt.c.revresume();
_R.toggleState(opt.slidertoggledby);
}
break;
case "pauseslider":
opt.c.revpause();
_R.unToggleState(opt.slidertoggledby);
break;
case "playslider":
opt.noloopanymore=0;
opt.c.revresume();
_R.toggleState(opt.slidertoggledby);
break;
case "playvideo":
if (tnc.length>0)
_R.playVideo(tnc,opt);
break;
case "stopvideo":
if (tnc.length>0)
if (_R.stopVideo) _R.stopVideo(tnc,opt);
break;
case "togglevideo":
if (tnc.length>0)
if (!_R.isVideoPlaying(tnc,opt))
_R.playVideo(tnc,opt);
else
if (_R.stopVideo) _R.stopVideo(tnc,opt);
break;
case "mutevideo":
if (tnc.length>0)
_R.muteVideo(tnc,opt);
break;
case "unmutevideo":
if (tnc.length>0)
if (_R.unMuteVideo) _R.unMuteVideo(tnc,opt);
break;
case "toggle_mute_video":
if (tnc.length>0)
if (_R.isVideoMuted(tnc,opt))
_R.unMuteVideo(tnc,opt);
else
if (_R.muteVideo) _R.muteVideo(tnc,opt);
_nc.toggleClass('rs-toggle-content-active');
break;
case "simulateclick":
if (tnc.length>0) tnc.click();
break;
case "toggleclass":
if (tnc.length>0)
if (!tnc.hasClass(a.classname))
tnc.addClass(a.classname);
else
tnc.removeClass(a.classname);
break;
case "gofullscreen":
case "exitfullscreen":
case "togglefullscreen":
if (jQuery('#rs-go-fullscreen').length>0 && (a.action=="togglefullscreen" || a.action=="exitfullscreen")) {
jQuery('#rs-go-fullscreen').appendTo(jQuery('#rs-was-here'));
var paw = opt.c.closest('.forcefullwidth_wrapper_tp_banner').length>0 ? opt.c.closest('.forcefullwidth_wrapper_tp_banner') : opt.c.closest('.rev_slider_wrapper');
paw.unwrap();
paw.unwrap();
opt.minHeight = opt.oldminheight;
opt.infullscreenmode = false;
opt.c.revredraw();
if (opt.playingvideos != undefined && opt.playingvideos.length>0) {
jQuery.each(opt.playingvideos,function(i,_nc) {
_R.playVideo(_nc,opt);
});
}
_R.unToggleState(opt.fullscreentoggledby);
} else
if (jQuery('#rs-go-fullscreen').length==0 && (a.action=="togglefullscreen" || a.action=="gofullscreen")) {
var paw = opt.c.closest('.forcefullwidth_wrapper_tp_banner').length>0 ? opt.c.closest('.forcefullwidth_wrapper_tp_banner') : opt.c.closest('.rev_slider_wrapper');
paw.wrap('<div id="rs-was-here"><div id="rs-go-fullscreen"></div></div>');
var gf = jQuery('#rs-go-fullscreen');
gf.appendTo(jQuery('body'));
gf.css({position:'fixed',width:'100%',height:'100%',top:'0px',left:'0px',zIndex:'9999999',background:'#ffffff'});
opt.oldminheight = opt.minHeight;
opt.minHeight = jQuery(window).height();
opt.infullscreenmode = true;
opt.c.revredraw();
if (opt.playingvideos != undefined && opt.playingvideos.length>0) {
jQuery.each(opt.playingvideos,function(i,_nc) {
_R.playVideo(_nc,opt);
});
}
_R.toggleState(opt.fullscreentoggledby);
}
break;
}
}
var getOffContH = function(c) {
if (c==undefined) return 0;
if (c.split(',').length>1) {
oc = c.split(",");
var a =0;
if (oc)
jQuery.each(oc,function(index,sc) {
if (jQuery(sc).length>0)
a = a + jQuery(sc).outerHeight(true);
});
return a;
} else {
return jQuery(c).height();
}
return 0;
}
})(jQuery);

View File

@@ -0,0 +1,346 @@
/********************************************
* REVOLUTION 5.0 EXTENSION - CAROUSEL
* @version: 1.0.2 (01.10.2015)
* @requires jquery.themepunch.revolution.js
* @author ThemePunch
*********************************************/
(function($) {
var _R = jQuery.fn.revolution;
///////////////////////////////////////////
// EXTENDED FUNCTIONS AVAILABLE GLOBAL //
///////////////////////////////////////////
jQuery.extend(true,_R, {
// CALCULATE CAROUSEL POSITIONS
prepareCarousel : function(opt,a,direction) {
direction = opt.carousel.lastdirection = dircheck(direction,opt.carousel.lastdirection);
setCarouselDefaults(opt);
opt.carousel.slide_offset_target = getActiveCarouselOffset(opt);
if (a==undefined)
_R.carouselToEvalPosition(opt,direction);
else
animateCarousel(opt,direction,false);
},
// MOVE FORWARDS/BACKWARDS DEPENDING ON THE OFFSET TO GET CAROUSEL IN EVAL POSITION AGAIN
carouselToEvalPosition : function(opt,direction) {
var _ = opt.carousel;
direction = _.lastdirection = dircheck(direction,_.lastdirection);
var bb = _.horizontal_align==="center" ? ((_.wrapwidth/2-_.slide_width/2) - _.slide_globaloffset) / _.slide_width : (0 - _.slide_globaloffset) / _.slide_width,
fi = _R.simp(bb,opt.slideamount,false);
var cm = fi - Math.floor(fi),
calc = 0,
mc = -1 * (Math.ceil(fi) - fi),
mf = -1 * (Math.floor(fi) - fi);
calc = cm>=0.3 && direction==="left" || cm>=0.7 && direction==="right" ? mc : cm<0.3 && direction==="left" || cm<0.7 && direction==="right" ? mf : calc;
calc = _.infinity==="off" ? fi<0 ? fi : bb>opt.slideamount-1 ? bb-(opt.slideamount-1) : calc : calc;
_.slide_offset_target = calc * _.slide_width;
// LONGER "SMASH" +/- 1 to Calc
if (Math.abs(_.slide_offset_target) !==0)
animateCarousel(opt,direction,true);
else {
_R.organiseCarousel(opt,direction);
}
},
// ORGANISE THE CAROUSEL ELEMENTS IN POSITION AND TRANSFORMS
organiseCarousel : function(opt,direction,setmaind,unli) {
direction = direction === undefined || direction=="down" || direction=="up" || direction===null || jQuery.isEmptyObject(direction) ? "left" : direction;
var _ = opt.carousel,
slidepositions = new Array(),
len = _.slides.length,
leftlimit = _.horizontal_align ==="right" ? leftlimit = opt.width : 0;
for (var i=0;i<len;i++) {
var pos = (i * _.slide_width) + _.slide_offset;
if (_.infinity==="on") {
pos = pos>_.wrapwidth-_.inneroffset && direction=="right" ? _.slide_offset - ((_.slides.length-i)*_.slide_width) : pos;
pos = pos<0-_.inneroffset-_.slide_width && direction=="left" ? pos + _.maxwidth : pos;
}
slidepositions[i] = pos;
}
var maxd = 999;
// SECOND RUN FOR NEGATIVE ADJUSTMENETS
if (_.slides)
jQuery.each(_.slides,function(i,slide) {
var pos = slidepositions[i];
if (_.infinity==="on") {
pos = pos>_.wrapwidth-_.inneroffset && direction==="left" ? slidepositions[0] - ((len-i)*_.slide_width) : pos;
pos = pos<0-_.inneroffset-_.slide_width ? direction=="left" ? pos + _.maxwidth : direction==="right" ? slidepositions[len-1] + ((i+1)*_.slide_width) : pos : pos;
}
var tr= new Object();
tr.left = pos + _.inneroffset;
// CHCECK DISTANCES FROM THE CURRENT FAKE FOCUS POSITION
var d = _.horizontal_align==="center" ? (Math.abs(_.wrapwidth/2) - (tr.left+_.slide_width/2))/_.slide_width : (_.inneroffset - tr.left)/_.slide_width,
offsdir = d<0 ? -1:1,
ha = _.horizontal_align==="center" ? 2 : 1;
if ((setmaind && Math.abs(d)<maxd) || d===0) {
maxd = Math.abs(d);
_.focused = i;
}
tr.width =_.slide_width;
tr.x = 0;
tr.transformPerspective = 1200;
tr.transformOrigin = "50% "+_.vertical_align;
// SET VISIBILITY OF ELEMENT
if (_.fadeout==="on")
if (_.vary_fade==="on")
tr.autoAlpha = 1-Math.abs(((1/Math.ceil(_.maxVisibleItems/ha))*d))
else
switch(_.horizontal_align) {
case "center":
tr.autoAlpha = Math.abs(d)<Math.ceil((_.maxVisibleItems/ha)-1) ? 1 : 1-(Math.abs(d)-Math.floor(Math.abs(d)));
break;
case "left":
tr.autoAlpha = d<1 && d>0 ? 1-d : Math.abs(d)>_.maxVisibleItems-1 ? 1- (Math.abs(d)-(_.maxVisibleItems-1)) : 1;
break;
case "right":
tr.autoAlpha = d>-1 && d<0 ? 1-Math.abs(d) : d>_.maxVisibleItems-1 ? 1- (Math.abs(d)-(_.maxVisibleItems-1)) : 1;
break;
}
else
tr.autoAlpha = Math.abs(d)<Math.ceil((_.maxVisibleItems/ha)) ? 1 : 0;
// SET SCALE DOWNS
if (_.minScale!==undefined && _.minScale >0) {
if (_.vary_scale==="on") {
tr.scale = 1- Math.abs(((_.minScale/100/Math.ceil(_.maxVisibleItems/ha))*d));
var sx = (_.slide_width - (_.slide_width*tr.scale)) *Math.abs(d);
} else {
tr.scale = d>=1 || d<=-1 ? 1 - _.minScale/100 : (100-( _.minScale*Math.abs(d)))/100;
var sx=(_.slide_width - (_.slide_width*(1 - _.minScale/100)))*Math.abs(d);
}
}
// ROTATION FUNCTIONS
if (_.maxRotation!==undefined && Math.abs(_.maxRotation)!=0) {
if (_.vary_rotation ==="on") {
tr.rotationY = Math.abs(_.maxRotation) - Math.abs((1-Math.abs(((1/Math.ceil(_.maxVisibleItems/ha))*d))) * _.maxRotation);
tr.autoAlpha = Math.abs(tr.rotationY)>90 ? 0 : tr.autoAlpha;
} else {
tr.rotationY = d>=1 || d<=-1 ? _.maxRotation : Math.abs(d)*_.maxRotation;
}
tr.rotationY = d<0 ? tr.rotationY*-1 : tr.rotationY;
}
// SET SPACES BETWEEN ELEMENTS
tr.x = (-1*_.space) * d;
tr.left = Math.floor(tr.left);
tr.x = Math.floor(tr.x);
// ADD EXTRA SPACE ADJUSTEMENT IF COVER MODE IS SELECTED
tr.scale !== undefined ? d<0 ? tr.x-sx :tr.x+sx : tr.x;
// ZINDEX ADJUSTEMENT
tr.zIndex = Math.round(100-Math.abs(d*5));
// TRANSFORM STYLE
tr.transformStyle = opt.parallax.type!="3D" && opt.parallax.type!="3d" ? "flat" : "preserve-3d";
// ADJUST TRANSFORMATION OF SLIDE
punchgs.TweenLite.set(slide,tr);
});
if (unli) {
opt.c.find('.next-revslide').removeClass("next-revslide");
jQuery(_.slides[_.focused]).addClass("next-revslide");
opt.c.trigger("revolution.nextslide.waiting");
}
var ll = _.wrapwidth/2 - _.slide_offset ,
rl = _.maxwidth+_.slide_offset-_.wrapwidth/2;
}
});
/**************************************************
- CAROUSEL FUNCTIONS -
***************************************************/
var defineCarouselElements = function(opt) {
var _ = opt.carousel;
_.infbackup = _.infinity;
_.maxVisiblebackup = _.maxVisibleItems;
// SET DEFAULT OFFSETS TO 0
_.slide_globaloffset = "none";
_.slide_offset = 0;
// SET UL REFERENCE
_.wrap = opt.c.find('.tp-carousel-wrapper');
// COLLECT SLIDES
_.slides = opt.c.find('.tp-revslider-slidesli');
// SET PERSPECTIVE IF ROTATION IS ADDED
if (_.maxRotation!==0)
if (opt.parallax.type!="3D" && opt.parallax.type!="3d")
punchgs.TweenLite.set(_.wrap,{perspective:1200,transformStyle:"flat"});
else
punchgs.TweenLite.set(_.wrap,{perspective:1600,transformStyle:"preserve-3d"});
if (_.border_radius!==undefined && parseInt(_.border_radius,0) >0) {
punchgs.TweenLite.set(opt.c.find('.tp-revslider-slidesli'),{borderRadius:_.border_radius});
}
}
var setCarouselDefaults = function(opt) {
if (opt.bw===undefined) _R.setSize(opt);
var _=opt.carousel,
loff = _R.getHorizontalOffset(opt.c,"left"),
roff = _R.getHorizontalOffset(opt.c,"right");
// IF NO DEFAULTS HAS BEEN DEFINED YET
if (_.wrap===undefined) defineCarouselElements(opt);
// DEFAULT LI WIDTH SHOULD HAVE THE SAME WIDTH OF TH OPT WIDTH
_.slide_width = _.stretch!=="on" ? opt.gridwidth[opt.curWinRange]*opt.bw : opt.c.width();
// CALCULATE CAROUSEL WIDTH
_.maxwidth = opt.slideamount*_.slide_width;
if (_.maxVisiblebackup>_.slides.length+1)
_.maxVisibleItems = _.slides.length+2;
// SET MAXIMUM CAROUSEL WARPPER WIDTH (SHOULD BE AN ODD NUMBER)
_.wrapwidth = (_.maxVisibleItems * _.slide_width) + ((_.maxVisibleItems - 1) * _.space);
_.wrapwidth = opt.sliderLayout!="auto" ?
_.wrapwidth>opt.c.closest('.tp-simpleresponsive').width() ? opt.c.closest('.tp-simpleresponsive').width() : _.wrapwidth :
_.wrapwidth>opt.ul.width() ? opt.ul.width() : _.wrapwidth;
// INFINITY MODIFICATIONS
_.infinity = _.wrapwidth >=_.maxwidth ? "off" : _.infbackup;
// SET POSITION OF WRAP CONTAINER
_.wrapoffset = _.horizontal_align==="center" ? (opt.c.width()-roff - loff - _.wrapwidth)/2 : 0;
_.wrapoffset = opt.sliderLayout!="auto" && opt.outernav ? 0 : _.wrapoffset < loff ? loff : _.wrapoffset;
var ovf = "hidden";
if ((opt.parallax.type=="3D" || opt.parallax.type=="3d"))
ovf = "visible";
if (_.horizontal_align==="right")
punchgs.TweenLite.set(_.wrap,{left:"auto",right:_.wrapoffset+"px", width:_.wrapwidth, overflow:ovf});
else
punchgs.TweenLite.set(_.wrap,{right:"auto",left:_.wrapoffset+"px", width:_.wrapwidth, overflow:ovf});
// INNER OFFSET FOR RTL
_.inneroffset = _.horizontal_align==="right" ? _.wrapwidth - _.slide_width : 0;
// THE REAL OFFSET OF THE WRAPPER
_.realoffset = (Math.abs(_.wrap.position().left)); // + opt.c.width()/2);
// THE SCREEN WIDTH/2
_.windhalf = jQuery(window).width()/2;
}
// DIRECTION CHECK
var dircheck = function(d,b) {
return d===null || jQuery.isEmptyObject(d) ? b : d === undefined ? "right" : d;;
}
// ANIMATE THE CAROUSEL WITH OFFSETS
var animateCarousel = function(opt,direction,nsae) {
var _ = opt.carousel;
direction = _.lastdirection = dircheck(direction,_.lastdirection);
var animobj = new Object();
animobj.from = 0;
animobj.to = _.slide_offset_target;
if (_.positionanim!==undefined)
_.positionanim.pause();
_.positionanim = punchgs.TweenLite.to(animobj,1.2,{from:animobj.to,
onUpdate:function() {
_.slide_offset = _.slide_globaloffset + animobj.from;
_.slide_offset = _R.simp(_.slide_offset , _.maxwidth);
_R.organiseCarousel(opt,direction,false,false);
},
onComplete:function() {
_.slide_globaloffset = _.infinity==="off" ? _.slide_globaloffset + _.slide_offset_target : _R.simp(_.slide_globaloffset + _.slide_offset_target, _.maxwidth);
_.slide_offset = _R.simp(_.slide_offset , _.maxwidth);
_R.organiseCarousel(opt,direction,false,true);
var li = jQuery(opt.li[_.focused]);
opt.c.find('.next-revslide').removeClass("next-revslide");
if (nsae) _R.callingNewSlide(opt,opt.c,li.data('index'));
}, ease:punchgs.Expo.easeOut});
}
var breduc = function(a,m) {
return Math.abs(a)>Math.abs(m) ? a>0 ? a - Math.abs(Math.floor(a/(m))*(m)) : a + Math.abs(Math.floor(a/(m))*(m)) : a;
}
// CAROUSEL INFINITY MODE, DOWN OR UP ANIMATION
var getBestDirection = function(a,b,max) {
var dira = b-a,max,
dirb = (b-max) - a,max;
dira = breduc(dira,max);
dirb = breduc(dirb,max);
return Math.abs(dira)>Math.abs(dirb) ? dirb : dira;
}
// GET OFFSETS BEFORE ANIMATION
var getActiveCarouselOffset = function(opt) {
var ret = 0,
_ = opt.carousel;
if (_.positionanim!==undefined) _.positionanim.kill();
if (_.slide_globaloffset=="none")
_.slide_globaloffset = ret = _.horizontal_align==="center" ? (_.wrapwidth/2-_.slide_width/2) : 0;
else {
_.slide_globaloffset = _.slide_offset;
_.slide_offset = 0;
var ci = opt.c.find('.processing-revslide').index(),
fi = _.horizontal_align==="center" ? ((_.wrapwidth/2-_.slide_width/2) - _.slide_globaloffset) / _.slide_width : (0 - _.slide_globaloffset) / _.slide_width;
fi = _R.simp(fi,opt.slideamount,false);
ci = ci>=0 ? ci : opt.c.find('.active-revslide').index();
ci = ci>=0 ? ci : 0;
ret = _.infinity==="off" ? fi-ci : -getBestDirection(fi,ci,opt.slideamount);
ret = ret * _.slide_width;
}
return ret;
}
})(jQuery);

View File

@@ -0,0 +1,175 @@
/********************************************
* REVOLUTION 5.0 EXTENSION - KEN BURN
* @version: 1.0.0 (03.08.2015)
* @requires jquery.themepunch.revolution.js
* @author ThemePunch
*********************************************/
(function($) {
var _R = jQuery.fn.revolution;
///////////////////////////////////////////
// EXTENDED FUNCTIONS AVAILABLE GLOBAL //
///////////////////////////////////////////
jQuery.extend(true,_R, {
stopKenBurn : function(l) {
if (l.data('kbtl')!=undefined)
l.data('kbtl').pause();
},
startKenBurn : function(l,opt,prgs) {
var d = l.data(),
i = l.find('.defaultimg'),
s = i.data('lazyload') || i.data('src'),
i_a = d.owidth / d.oheight,
cw = opt.sliderType==="carousel" ? opt.carousel.slide_width : opt.ul.width(),
ch = opt.ul.height(),
c_a = cw / ch;
if (l.data('kbtl'))
l.data('kbtl').kill();
prgs = prgs || 0;
// NO KEN BURN IMAGE EXIST YET
if (l.find('.tp-kbimg').length==0) {
l.append('<div class="tp-kbimg-wrap" style="z-index:2;width:100%;height:100%;top:0px;left:0px;position:absolute;"><img class="tp-kbimg" src="'+s+'" style="position:absolute;" width="'+d.owidth+'" height="'+d.oheight+'"></div>');
l.data('kenburn',l.find('.tp-kbimg'));
}
var getKBSides = function(w,h,f,cw,ch,ho,vo) {
var tw = w * f,
th = h * f,
hd = Math.abs(cw-tw),
vd = Math.abs(ch-th),
s = new Object();
s.l = (0-ho)*hd;
s.r = s.l + tw;
s.t = (0-vo)*vd;
s.b = s.t + th;
s.h = ho;
s.v = vo;
return s;
},
getKBCorners = function(d,cw,ch,ofs,o) {
var p = d.bgposition.split(" ") || "center center",
ho = p[0] == "center" ? "50%" : p[0] == "left" || p [1] == "left" ? "0%" : p[0]=="right" || p[1] =="right" ? "100%" : p[0],
vo = p[1] == "center" ? "50%" : p[0] == "top" || p [1] == "top" ? "0%" : p[0]=="bottom" || p[1] =="bottom" ? "100%" : p[1];
ho = parseInt(ho,0)/100 || 0;
vo = parseInt(vo,0)/100 || 0;
var sides = new Object();
sides.start = getKBSides(o.start.width,o.start.height,o.start.scale,cw,ch,ho,vo);
sides.end = getKBSides(o.start.width,o.start.height,o.end.scale,cw,ch,ho,vo);
return sides;
},
kcalcL = function(cw,ch,d) {
var f=d.scalestart/100,
fe=d.scaleend/100,
ofs = d.oofsetstart != undefined ? d.offsetstart.split(" ") || [0,0] : [0,0],
ofe = d.offsetend != undefined ? d.offsetend.split(" ") || [0,0] : [0,0];
d.bgposition = d.bgposition == "center center" ? "50% 50%" : d.bgposition;
var o = new Object(),
sw = cw*f,
sh = sw/d.owidth * d.oheight,
ew = cw*fe,
eh = ew/d.owidth * d.oheight;
o.start = new Object();
o.starto = new Object();
o.end = new Object();
o.endo = new Object();
o.start.width = cw;
o.start.height = o.start.width / d.owidth * d.oheight;
if (o.start.height<ch) {
var newf = ch / o.start.height;
o.start.height = ch;
o.start.width = o.start.width*newf;
}
o.start.transformOrigin = d.bgposition;
o.start.scale = f;
o.end.scale = fe;
o.start.rotation = d.rotatestart+"deg";
o.end.rotation = d.rotateend+"deg";
// MAKE SURE THAT OFFSETS ARE NOT TOO HIGH
var c = getKBCorners(d,cw,ch,ofs,o);
ofs[0] = parseFloat(ofs[0]) + c.start.l;
ofe[0] = parseFloat(ofe[0]) + c.end.l;
ofs[1] = parseFloat(ofs[1]) + c.start.t;
ofe[1] = parseFloat(ofe[1]) + c.end.t;
var iws = c.start.r - c.start.l,
ihs = c.start.b - c.start.t,
iwe = c.end.r - c.end.l,
ihe = c.end.b - c.end.t;
ofs[0] = ofs[0]>0 ? 0 : iws + ofs[0] < cw ? cw-iws : ofs[0];
ofe[0] = ofe[0]>0 ? 0 : iwe + ofe[0] < cw ? cw-iwe : ofe[0];
ofs[1] = ofs[1]>0 ? 0 : ihs + ofs[1] < ch ? ch-ihs : ofs[1];
ofe[1] = ofe[1]>0 ? 0 : ihe + ofe[1] < ch ? ch-ihe : ofe[1];
o.starto.x = ofs[0]+"px";
o.starto.y = ofs[1]+"px";
o.endo.x = ofe[0]+"px";
o.endo.y = ofe[1]+"px";
o.end.ease = o.endo.ease = d.ease;
o.end.force3D = o.endo.force3D = true;
return o;
};
if (l.data('kbtl')!=undefined) {
l.data('kbtl').kill();
l.removeData('kbtl');
}
var k = l.data('kenburn'),
kw = k.parent(),
anim = kcalcL(cw,ch,d),
kbtl = new punchgs.TimelineLite();
kbtl.pause();
anim.start.transformOrigin = "0% 0%";
anim.starto.transformOrigin = "0% 0%";
kbtl.add(punchgs.TweenLite.fromTo(k,d.duration/1000,anim.start,anim.end),0);
kbtl.add(punchgs.TweenLite.fromTo(kw,d.duration/1000,anim.starto,anim.endo),0);
kbtl.progress(prgs);
kbtl.play();
l.data('kbtl',kbtl);
}
});
})(jQuery);

View File

@@ -0,0 +1,259 @@
/*****************************************************************************************************
* jquery.themepunch.revmigrate.js - jQuery Plugin for Revolution Slider Migration from 4.x to 5.0
* @version: 1.0.1 (18.08.2015)
* @requires jQuery v1.7 or later (tested on 1.9)
* @author ThemePunch
*****************************************************************************************************/
(function($) {
var _R = jQuery.fn.revolution;
///////////////////////////////////////////
// EXTENDED FUNCTIONS AVAILABLE GLOBAL //
///////////////////////////////////////////
jQuery.extend(true,_R, {
// OUR PLUGIN HERE :)
migration: function(container,options) {
// PREPARE THE NEW OPTIONS
options = prepOptions(options);
// PREPARE LAYER ANIMATIONS
prepLayerAnimations(container,options);
return options;
}
});
var prepOptions = function(o) {
// PARALLAX FALLBACKS
if (o.parallaxLevels || o.parallaxBgFreeze) {
var p = new Object();
p.type = o.parallax
p.levels = o.parallaxLevels;
p.bgparallax = o.parallaxBgFreeze == "on" ? "off" : "on";
p.disable_onmobile = o.parallaxDisableOnMobile;
o.parallax = p;
}
if (o.disableProgressBar === undefined)
o.disableProgressBar = o.hideTimerBar || "off";
// BASIC FALLBACKS
if (o.startwidth || o.startheight) {
o.gridwidth = o.startwidth;
o.gridheight = o.startheight;
}
if (o.sliderType===undefined)
o.sliderType = "standard";
if (o.fullScreen==="on")
o.sliderLayout = "fullscreen";
if (o.fullWidth==="on")
o.sliderLayout = "fullwidth";
if (o.sliderLayout===undefined)
o.sliderLayout = "auto";
// NAVIGATION ARROW FALLBACKS
if (o.navigation===undefined) {
var n = new Object();
if (o.navigationArrows=="solo" || o.navigationArrows=="nextto") {
var a = new Object();
a.enable = true;
a.style = o.navigationStyle || "";
a.hide_onmobile = o.hideArrowsOnMobile==="on" ? true : false;
a.hide_onleave = o.hideThumbs >0 ? true : false;
a.hide_delay = o.hideThumbs>0 ? o.hideThumbs : 200;
a.hide_delay_mobile = o.hideNavDelayOnMobile || 1500;
a.hide_under = 0;
a.tmp = '';
a.left = {
h_align:o.soloArrowLeftHalign,
v_align:o.soloArrowLeftValign,
h_offset:o.soloArrowLeftHOffset,
v_offset:o.soloArrowLeftVOffset
};
a.right = {
h_align:o.soloArrowRightHalign,
v_align:o.soloArrowRightValign,
h_offset:o.soloArrowRightHOffset,
v_offset:o.soloArrowRightVOffset
};
n.arrows = a;
}
if (o.navigationType=="bullet") {
var b = new Object();
b.style = o.navigationStyle || "";
b.enable=true;
b.hide_onmobile = o.hideArrowsOnMobile==="on" ? true : false;
b.hide_onleave = o.hideThumbs >0 ? true : false;
b.hide_delay = o.hideThumbs>0 ? o.hideThumbs : 200;
b.hide_delay_mobile = o.hideNavDelayOnMobile || 1500;
b.hide_under = 0;
b.direction="horizontal";
b.h_align=o.navigationHAlign || "center";
b.v_align=o.navigationVAlign || "bottom";
b.space=5;
b.h_offset=o.navigationHOffset || 0;
b.v_offset=o.navigationVOffset || 20;
b.tmp='<span class="tp-bullet-image"></span><span class="tp-bullet-title"></span>';
n.bullets = b;
}
if (o.navigationType=="thumb") {
var t = new Object();
t.style=o.navigationStyle || "";
t.enable=true;
t.width=o.thumbWidth || 100;
t.height=o.thumbHeight || 50;
t.min_width=o.thumbWidth || 100;
t.wrapper_padding=2;
t.wrapper_color="#f5f5f5";
t.wrapper_opacity=1;
t.visibleAmount=o.thumbAmount || 3;
t.hide_onmobile = o.hideArrowsOnMobile==="on" ? true : false;
t.hide_onleave = o.hideThumbs >0 ? true : false;
t.hide_delay = o.hideThumbs>0 ? o.hideThumbs : 200;
t.hide_delay_mobile = o.hideNavDelayOnMobile || 1500;
t.hide_under = 0;
t.direction="horizontal";
t.span=false;
t.position="inner";
t.space=2;
t.h_align=o.navigationHAlign || "center";
t.v_align=o.navigationVAlign || "bottom";
t.h_offset=o.navigationHOffset || 0;
t.v_offset=o.navigationVOffset || 20;
t.tmp='<span class="tp-thumb-image"></span><span class="tp-thumb-title"></span>';
n.thumbnails = t;
}
o.navigation = n;
o.navigation.keyboardNavigation=o.keyboardNavigation || "on";
o.navigation.onHoverStop=o.onHoverStop || "on";
o.navigation.touch = {
touchenabled:o.touchenabled || "on",
swipe_treshold : o.swipe_treshold ||75,
swipe_min_touches : o.swipe_min_touches || 1,
drag_block_vertical:o.drag_block_vertical || false
};
}
o.fallbacks = {
isJoomla:o.isJoomla || false,
panZoomDisableOnMobile: o.parallaxDisableOnMobile || "off",
simplifyAll:o.simplifyAll || "on",
nextSlideOnWindowFocus:o.nextSlideOnWindowFocus || "off",
disableFocusListener:o.disableFocusListener || true
};
return o;
}
var prepLayerAnimations = function(container,opt) {
var c = new Object(),
cw = container.width(),
ch = container.height();
c.skewfromleftshort = "x:-50;skX:85;o:0";
c.skewfromrightshort = "x:50;skX:-85;o:0";
c.sfl = "x:-50;o:0";
c.sfr = "x:50;o:0";
c.sft = "y:-50;o:0";
c.sfb = "y:50;o:0";
c.skewfromleft = "x:top;skX:85;o:0";
c.skewfromright = "x:bottom;skX:-85;o:0";
c.lfl = "x:top;o:0";
c.lfr = "x:bottom;o:0";
c.lft = "y:left;o:0";
c.lfb = "y:right;o:0";
c.fade = "o:0";
var src = (Math.random()*720-360)
container.find('.tp-caption').each(function() {
var cp = jQuery(this),
rw = Math.random()*(cw*2)-cw,
rh = Math.random()*(ch*2)-ch,
rs = Math.random()*3,
rz = Math.random()*720-360,
rx = Math.random()*70-35,
ry = Math.random()*70-35,
ncc = cp.attr('class');
c.randomrotate = "x:{-400,400};y:{-400,400};sX:{0,2};sY:{0,2};rZ:{-180,180};rX:{-180,180};rY:{-180,180};o:0;";
if (ncc.match("randomrotate")) cp.data('transform_in',c.randomrotate)
else
if (ncc.match(/\blfl\b/)) cp.data('transform_in',c.lfl)
else
if (ncc.match(/\blfr\b/)) cp.data('transform_in',c.lfr)
else
if (ncc.match(/\blft\b/)) cp.data('transform_in',c.lft)
else
if (ncc.match(/\blfb\b/)) cp.data('transform_in',c.lfb)
else
if (ncc.match(/\bsfl\b/)) cp.data('transform_in',c.sfl)
else
if (ncc.match(/\bsfr\b/)) cp.data('transform_in',c.sfr)
else
if (ncc.match(/\bsft\b/)) cp.data('transform_in',c.sft)
else
if (ncc.match(/\bsfb\b/)) cp.data('transform_in',c.sfb)
else
if (ncc.match(/\bskewfromleftshort\b/)) cp.data('transform_in',c.skewfromleftshort)
else
if (ncc.match(/\bskewfromrightshort\b/)) cp.data('transform_in',c.skewfromrightshort)
else
if (ncc.match(/\bskewfromleft\b/)) cp.data('transform_in',c.skewfromleft)
else
if (ncc.match(/\bskewfromright\b/)) cp.data('transform_in',c.skewfromright)
else
if (ncc.match(/\bfade\b/)) cp.data('transform_in',c.fade);
if (ncc.match(/\brandomrotateout\b/)) cp.data('transform_out',c.randomrotate)
else
if (ncc.match(/\bltl\b/)) cp.data('transform_out',c.lfl)
else
if (ncc.match(/\bltr\b/)) cp.data('transform_out',c.lfr)
else
if (ncc.match(/\bltt\b/)) cp.data('transform_out',c.lft)
else
if (ncc.match(/\bltb\b/)) cp.data('transform_out',c.lfb)
else
if (ncc.match(/\bstl\b/)) cp.data('transform_out',c.sfl)
else
if (ncc.match(/\bstr\b/)) cp.data('transform_out',c.sfr)
else
if (ncc.match(/\bstt\b/)) cp.data('transform_out',c.sft)
else
if (ncc.match(/\bstb\b/)) cp.data('transform_out',c.sfb)
else
if (ncc.match(/\bskewtoleftshortout\b/)) cp.data('transform_out',c.skewfromleftshort)
else
if (ncc.match(/\bskewtorightshortout\b/)) cp.data('transform_out',c.skewfromrightshort)
else
if (ncc.match(/\bskewtoleftout\b/)) cp.data('transform_out',c.skewfromleft)
else
if (ncc.match(/\bskewtorightout\b/)) cp.data('transform_out',c.skewfromright)
else
if (ncc.match(/\bfadeout\b/)) cp.data('transform_out',c.fade);
if (cp.data('customin')!=undefined) cp.data('transform_in',cp.data('customin'));
if (cp.data('customout')!=undefined) cp.data('transform_out',cp.data('customout'));
})
}
})(jQuery);

View File

@@ -0,0 +1,392 @@
/********************************************
* REVOLUTION 5.1.6 EXTENSION - PARALLAX
* @version: 1.2 (04.01.2016)
* @requires jquery.themepunch.revolution.js
* @author ThemePunch
*********************************************/
(function($) {
var _R = jQuery.fn.revolution,
_ISM = _R.is_mobile();
jQuery.extend(true,_R, {
/*callStaticDDDParallax: function(container,opt,li) {
// STATIC 3D PARALLAX MOVEMENTS
if (opt.parallax && (opt.parallax.ddd_path=="static" || opt.parallax.ddd_path=="both")) {
var coo = {},
path = li.data('3dpath');
coo.li = li;
if (path.split(',').length>1) {
coo.h = parseInt(path.split(',')[0],0);
coo.v = parseInt(path.split(',')[1],0);
container.trigger('trigger3dpath',coo);
}
}
},*/
checkForParallax : function(container,opt) {
var _ = opt.parallax;
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});
}
}
opt.li.each(function() {
var li = jQuery(this);
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});
}
});
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");
});
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=="trigger3dpath") {
diffh = data.h;
diffv = data.v;
_.ddd_lasth = diffh;
_.ddd_lastv = diffv;
}*/
if (event.type=="mouseleave") {
diffh = _.ddd_lasth || 0;
diffv = _.ddd_lastv || 0;
s = 1.5;
}
/*if (_.ddd_path=="static") {
diffh = _.ddd_lasth || 0;
diffv = _.ddd_lastv || 0;
}*/
var 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 = _.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';
if (opt.sliderType==="carousel") sctor = ".tp-revslider-slidesli .dddwrapper, .tp-revslider-slidesli .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,z: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';
if (opt.sliderType==="carousel") sctor = ".tp-revslider-slidesli .dddwrapper, .tp-revslider-slidesli .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, 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});
});
}
}
}
_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 {
jQuery(window).on('scroll mousewheel DOMMouseScroll', function() {
_R.scrollHandling(opt,true);
});
}
}
_R.scrollHandling(opt, true);
},
// - SET POST OF SCROLL PARALLAX -
scrollHandling : function(opt,fromMouse) {
opt.lastwindowheight = opt.lastwindowheight || jQuery(window).height();
var t = opt.c.offset().top,
st = jQuery(window).scrollTop(),
b = new Object(),
_v = opt.viewPort,
_ = opt.parallax;
if (opt.lastscrolltop==st && !opt.duringslidechange && !fromMouse) return false;
//if (opt.lastscrolltop==st) return false;
function saveLastScroll(opt,st) {
opt.lastscrolltop = st;
}
punchgs.TweenLite.delayedCall(0.2,saveLastScroll,[opt,st]);
b.top = (t-st);
b.h = opt.conh==0 ? opt.c.height() : opt.conh;
b.bottom = (t-st) + b.h;
var proc = b.top<0 ? b.top / b.h : b.bottom>opt.lastwindowheight ? (b.bottom-opt.lastwindowheight) / b.h : 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 && opt.parallax.disable_onmobile=="on") return false;
var pt = new punchgs.TimelineLite();
pt.pause();
if (_.type!="3d" && _.type!="3D") {
if (_.type=="scroll" || _.type=="scroll+mouse" || _.type=="mouse+scroll")
opt.c.find(".tp-parallax-container").each(function(i) {
var pc = jQuery(this),
pl = parseInt(pc.data('parallaxlevel'),0)/100,
offsv = proc * -(pl*opt.conh) || 0;
pc.data('parallaxoffset',offsv);
pt.add(punchgs.TweenLite.set(pc,{force3D:"auto",y:offsv}),0);
});
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") {
var pl = opt.parallax.levels[parseInt(l,0)-1]/100,
offsv = proc * -(pl*opt.conh) || 0;
if (jQuery.isNumeric(offsv))
pt.add(punchgs.TweenLite.set(t,{position:"absolute",top:"0px",left:"0px",backfaceVisibility:"hidden",force3D:"true",y:offsv+"px"}),0);
}
});
}
if (_R.callBackHandling)
_R.callBackHandling(opt,"parallax","end");
pt.play(0);
}
});
//// END OF PARALLAX EFFECT
})(jQuery);