/******************************************** * REVOLUTION 5.0 EXTENSION - ACTIONS * @version: 1.0.1 (07.08.2015) * @requires jquery.themepunch.revolution.js * @author ThemePunch *********************************************/ (function($) { var _R = jQuery.fn.revolution; /////////////////////////////////////////// // 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 && as.length) jQuery.each(as,function(i,a) { a.delay = parseInt(a.delay,0)/1000; _nc.addClass("noSwipe") _nc.on(a.event,function() { var tnc = 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"); 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]); } } else punchgs.TweenLite.delayedCall(a.delay,function() { 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": if (opt.sliderstatus=="playing") opt.c.revpause(); else opt.c.revresume(); break; case "pauseslider": opt.c.revpause(); break; case "playslider": opt.c.revresume(); 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 "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; } },[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 getOffContH = function(c) { if (c==undefined) return 0; if (c.split(',').length>1) { oc = c.split(","); var a =0; 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);