scopesessions.org/js/custom.js
2015-02-13 18:11:24 +01:00

81 lines
1.4 KiB
JavaScript

var scrolling = false;
var navigatorOpen = false;
var topButtonVisible = true;
$(document).ready(function() {
$(function() {
$.scrollIt();
});
$(".navigator-toggle").click(function() {
if (navigatorOpen) {
closeTopMenu();
} else {
openTopMenu();
}
navigatorOpen = !navigatorOpen;
});
$(".topic").click(function() {
closeTopMenu();
});
function openTopMenu() {
if (!scrolling && !navigatorOpen) {
scrolling = true;
$(".navigator").slideDown("slow", function() {
scrolling = false;
navigatorOpen = true;
});
}
}
function closeTopMenu() {
if (!scrolling && navigatorOpen) {
scrolling = true;
$('.navigator').slideUp("slow", function() {
scrolling = false;
navigatorOpen = false;
});
}
}
function showTopButton() {
console.log('showTopButton');
if (!topButtonVisible) {
$('.top-button').show("slow", function() {
topButtonVisible = true;
});
}
}
function hideTopButton() {
console.log('hideTopButton');
if (topButtonVisible) {
$('.top-button').hide("slow", function() {
topButtonVisible = false;
});
}
}
var timeout = null;
var navbarHeight = $('.navbar').height();
$(window).scroll(function() {
if (!timeout) {
timeout = setTimeout(function() {
clearTimeout(timeout);
timeout = null;
if ($(window).scrollTop() >= navbarHeight) {
closeTopMenu();
showTopButton();
} else {
hideTopButton();
}
}, 250);
}
});
});