-
Notifications
You must be signed in to change notification settings - Fork 0
/
app.js
70 lines (42 loc) · 1.26 KB
/
app.js
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
$(function() {
const header = $("#header");
const introH = $("#intro").innerHeight();
scrollOffset = $(window).scrollTop();
// Fixed header
checkScroll(scrollOffset);
$(window).on("scroll", function(){
scrollOffset = $(this).scrollTop();
checkScroll(scrollOffset);
});
function checkScroll(scrollOffset) {
if ( scrollOffset >= introH ) {
header.addClass("fixed");
} else {
header.removeClass("fixed");
}
}
// Smooth scroll
$("[data-scroll]").on("click", function(event) {
event.preventDefault();
const $this = $(this);
blockId = $this.data("scroll");
blockOffset = $(blockId).offset().top;
$("#nav a").removeClass("active");
$this.addClass("active");
$("html, body").animate({scrollTop: blockOffset
},500);
});
// Menu nav toggle
$("#nav-toggle").on("click", function(event) {
event.preventDefault();
$(this).toggleClass("active");
$("#nav").toggleClass("active");
});
// Collapse
$("[data-collapse]").on("click", function(event) {
event.preventDefault();
const $this = $(this);
blockId = $this.data("collapse");
$(blockId).slideToggle("slow");
});
});