-
Notifications
You must be signed in to change notification settings - Fork 5
Expand file tree
/
Copy pathapp.js
More file actions
81 lines (64 loc) · 2.05 KB
/
app.js
File metadata and controls
81 lines (64 loc) · 2.05 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
$(document).ready(function(){
$("#countdown").countdown("06/11/2016 10:00:00", function(event) {
$(this).text(
event.strftime('%D:%H:%M:%S')
);
});
var $mainNavLinks = $('#main-nav a');
$('a[href^="/#"]').on('click', function (e) {
e.preventDefault();
$(document).off("scroll");
if($(e.target).closest('#main-nav').length) {
$mainNavLinks.each(function () {
$(this).removeClass('active');
})
$(this).addClass('active');
}
var target = this.hash,
menu = target;
$target = $(target);
$('html, body').stop().animate({
'scrollTop': $target.offset().top
}, 500, 'swing', function () {
window.location.hash = target;
$(document).on("scroll", onScroll);
});
});
var running = 0;
function onScroll(event){
var scrollPos = $(document).scrollTop();
var headerHeight = $('header').height();
var $mainNav = $('#main-nav');
var mainNavHeight = $mainNav.height();
var $mainNavLinks = $('#main-nav a');
if(scrollPos > headerHeight) {
if(!$mainNav.hasClass('fixed')) {
$mainNav.addClass('fixed').css('top', (-1) * mainNavHeight);
$mainNav.stop().animate({
'top':0
}, 150, 'swing');
}
} else if($mainNav.hasClass('fixed')) {
if(running != 1) {
running = 1;
$mainNav.stop().animate({
'top':(-1) * mainNavHeight
}, 150, 'swing', function() {
$mainNav.removeClass('fixed').css('top', 0);
running = 0;
});
}
}
$mainNavLinks.each(function () {
var currLink = $(this);
var refElement = $('#' + currLink.data("target"));
if (refElement.position().top <= scrollPos + 1 && refElement.position().top + refElement.height() > scrollPos + 1) {
$mainNavLinks.removeClass("active");
currLink.addClass("active");
} else {
currLink.removeClass("active");
}
});
}
$(document).on("scroll", onScroll);
});