-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathscript.js
More file actions
101 lines (77 loc) · 2.56 KB
/
script.js
File metadata and controls
101 lines (77 loc) · 2.56 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
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
let humburger = document.getElementById('humburger');
let navbarSlide = document.getElementById('navSlide');
let navOpen = true;
humburger.addEventListener('click',()=>{
navbarSlide.classList.toggle('openNav');
if (navOpen) {
humburger.classList.remove('fa-bars');
humburger.classList.add('fa-xmark');
navOpen = false;
}else{
humburger.classList.add('fa-bars');
humburger.classList.remove('fa-xmark');
navOpen = true
}
})
// Counting Numbers
let countingNumbers = document.querySelectorAll('.countNumber');
let speed = 1000;
let countNumbers = ()=>{
countingNumbers.forEach(counter =>{
const updateCount = ()=>{
const target = +counter.getAttribute('data-val');
const count = +counter.innerText;
const inc = Math.ceil(target/speed);
if (count < target) {
counter.innerText = count + inc;
setTimeout(updateCount,1)
}else{
counter.innerText = target;
}
}
updateCount()
})
}
countNumbers()
// FAQ
let faqBoxes = document.querySelectorAll('.faqBox');
faqBoxes.forEach(elem =>{
elem.addEventListener('click',()=>{
elem.classList.toggle('open')
})
})
// Reveal on scroll
window.addEventListener('scroll',reveal)
function reveal() {
let reveals = document.querySelectorAll('.reveal');
for (let i = 0; i < reveals.length; i++) {
let windowHeight = window.innerHeight;
let revealTop = reveals[i].getBoundingClientRect().top;
let revealPoint = 140;
if (revealTop < windowHeight - revealPoint) {
reveals[i].classList.add('active')
}else{
reveals[i].classList.remove('active')
}
}
let countContainer = document.getElementById('countContainer');
let windowHeight = window.innerHeight;
let revealTop = countContainer.getBoundingClientRect().top;
let revealPoint = 140;
if (revealTop < windowHeight - revealPoint) {
countNumbers();
}else{
countingNumbers.forEach(counter =>{
counter.innerText = 0;
})
}
}
// Scroll To Div
let navigatingLinks = document.querySelectorAll('.navigatingLinks');
navigatingLinks.forEach(elem =>{
let scrollTo = elem.getAttribute('data-val');
elem.addEventListener('click',()=>{
var element = document.getElementById(scrollTo);
element.scrollIntoView({block:'start',behavior:'smooth'})
})
})