mirror of
https://github.com/lubuntu-team/lubuntu.me.git
synced 2025-02-23 16:21:07 +00:00
167 lines
5.2 KiB
JavaScript
167 lines
5.2 KiB
JavaScript
/********************************************
|
|
* 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); |