-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathjavascript.js
More file actions
54 lines (45 loc) · 1.45 KB
/
Copy pathjavascript.js
File metadata and controls
54 lines (45 loc) · 1.45 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
audio = new Audio("./audios/trimmed on caligraphy - One of the Greatest Speeches Ever _ Steve Jobs-[AudioTrimmer.com].mp3");
function playMusic(){
if(audio.paused) {
audio.play();
} else if(audio.play) {
audio.pause();
}
}
function showMenu(){
let menu = document.getElementById('dropdown-menu');
if(menu.style.display == 'block'){
menu.style.display = 'none';
}else {
menu.style.display = 'block';
}
}
function closeMenu(){
let menu = document.getElementById('dropdown-menu');
menu.style.display = 'none';
}
document.addEventListener("click", e => {
const isDropdownButton = e.target.matches("[dropdown-button]");
if (!isDropdownButton) {
closeMenu();
return;
}
})
let progressSection = document.querySelector(".progress-section");
let progressBar = document.querySelector(".progress-bar");
let progressNum = document. querySelector(".progress-num");
let x, y;
window.addEventListener('mousemove', (e) =>{
x = e.clientX;
y = e.clientY;
})
function updateProgressBar(){
progressSection.style.transform = `translate(${x}px, ${y}px)`;
progressBar.style.height = `${getScrollPercentage()}%`;
progressNum.innerText = `${Math.ceil(getScrollPercentage())}%`;
requestAnimationFrame(updateProgressBar);
}
function getScrollPercentage(){
return ((window.scrollY) / (document.body.scrollHeight - window.innerHeight) * 100);
}
updateProgressBar();