in src/assets/js/main.js [553:655]
$.fn.showOnView = function (options) {
if (is_touch_device) {
console.debug('showOnView disabled for touch device');
return;
}
var settings = $.extend(
{
count: 'once',
transitionDelay: 0,
transitionIn: 'transition.slideUpIn',
transitionOut: 'transition.slideDownOut',
transitionSpeed: 500,
transitionEasing: 'easeOutSine',
display: null,
staggerGroup: false,
staggerIncrement: 100,
breakpoint: 'atleast_medium',
},
options
);
var $window = $(window);
var onLoad = true;
var first = true;
var active = false;
var $elements = this;
if (settings.staggerGroup && $(settings.staggerGroup).length) {
var ar = settings.staggerGroup.split(' ');
var $groups = $(ar[0]);
$groups.each(function () {
var increment = settings.staggerIncrement;
var $els = $(this).find(ar[1]);
$els.each(function () {
$(this).data('onscrolldelay', increment);
increment += settings.staggerIncrement;
});
});
}
$window.on('scroll.onLoad', function () {
onLoad = false;
$window.off('scroll.onLoad');
});
function activate() {
$elements.each(function () {
var $el = $(this);
var delay =
$el.data('onscrolldelay') !== undefined
? $el.data('onscrolldelay')
: settings.transitionDelay;
var onLoadDelay = $el.data('onloaddelay');
var thisDelay;
var thisDisplay =
$el.data('display') !== undefined
? $el.data('display')
: settings.display;
if (settings.count == 'once') {
$el.one('inview', function (event, isInView) {
if (isInView) {
thisDelay =
onLoad && onLoadDelay != undefined ? onLoadDelay : delay;
$el.velocity(settings.transitionIn, {
delay: thisDelay,
duration: settings.transitionSpeed,
easing: settings.transitionEasing,
display: thisDisplay,
});
}
});
} else if (settings.count == 'everytime') {
$el.on('inview', function (event, isInView) {
if (isInView) {
thisDelay =
onLoad && onLoadDelay != undefined ? onLoadDelay : delay;
$el.velocity(settings.transitionIn, {
delay: thisDelay,
duration: settings.transitionSpeed,
easing: settings.transitionEasing,
});
} else {
$el.velocity(settings.transitionOut, {
duration: settings.transitionSpeed,
easing: settings.transitionEasing,
});
}
});
}
});
}
$.subscribe('breakpoints', function (obj, media) {
active =
settings.breakpoint == null ||
media[settings.breakpoint] ||
media.fallback;
if (active && first) {
first = false;
activate();
}
});
};