in src/assets/js/main.js [339:393]
$.fn.persistantMenu = function () {
// Don't enable the scroll hidden menu for touch devices.
if (is_touch_device) {
console.debug('No-op persistantMenu for touch enabled devices');
return {
kill: function () {
console.debug('No-op persistantMenu.kill()');
},
};
}
var $container = this;
var $window = $(window);
var scrollTop = $window.scrollTop();
var stateMinimized = false;
var lastScrollTop = 0;
var sensitivity = 5;
var trigger = 30;
function scrollState() {
scrollTop = $window.scrollTop();
// downscroll
if (scrollTop > trigger && scrollTop > lastScrollTop && !stateMinimized) {
stateMinimized = true;
$container.addClass('minimize').removeClass('minimize-down');
// upscroll
} else if (
scrollTop > trigger &&
scrollTop < lastScrollTop - sensitivity &&
stateMinimized
) {
stateMinimized = false;
$container.removeClass('minimize').addClass('minimize-down');
// top of page
} else if (scrollTop < trigger) {
stateMinimized = false;
$container.removeClass('minimize minimize-down');
}
lastScrollTop = scrollTop;
}
$window.on('scroll', scrollState);
scrollState();
return {
kill: function () {
$container.removeClass('minimize');
$window.off('scroll');
},
};
};