-
Notifications
You must be signed in to change notification settings - Fork 0
/
script.js
108 lines (89 loc) · 2.69 KB
/
script.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
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
102
103
104
105
106
107
108
const MIN_FONT_SIZE = 1;
const MAX_FONT_SIZE = 200;
let savedFontSize = localStorage.getItem('savedFontSize');
let currentFontSize;
let numberFontSize;
let baniSection;
// Get current font size of bani section
baniSection = document.getElementById("bani");
currentFontSize = window.getComputedStyle(baniSection).getPropertyValue('font-size');
numberFontSize = Number(currentFontSize.substring(0, currentFontSize.length - 2));
setFontSize(numberFontSize);
if (savedFontSize) {
changeFontSize(savedFontSize);
setFontSize(savedFontSize);
}
function changeBackgroundColor(value) {
document.body.style.backgroundColor = value;
}
function changeFontColor(value) {
document.body.style.color = value;
}
function increaseFontSize() {
increaesDecreaseFontSize(0.2);
}
function decreaseFontSize() {
increaesDecreaseFontSize(-0.2);
}
function increaesDecreaseFontSize(increaseDecreaseValue) {
let newNumberFontSize = numberFontSize + increaseDecreaseValue;
if (!isBetween(MIN_FONT_SIZE, MAX_FONT_SIZE, numberFontSize)) {
return;
}
numberFontSize = newNumberFontSize;
setFontSize(numberFontSize);
baniSection.style.fontSize = numberFontSize + "px";
saveFontSizeInStorage(numberFontSize);
}
// Change font size in input field
function setFontSize(value) {
document.getElementById("currentFontSize").value = Number(value).toFixed(1);
}
function changeFontSize(size) {
if (!isBetween(MIN_FONT_SIZE, MAX_FONT_SIZE, size)) {
return;
}
numberFontSize = Number(size);
baniSection.style.fontSize = size + 'px';
}
function darkMode(isOn) {
if (isOn) {
document.body.style.backgroundColor = "#000000"
document.body.style.color = "#ffffff";
return;
}
document.body.style.backgroundColor = "#ffffff"
document.body.style.color = "#000000";
}
// Emit multiple events when called continuously
let emitterInterv;
function continuousEmitterStart(func) {
emitterInterv = setInterval(() => {
func()
}, 1);
}
// Stops event emitting when called
function continuousEmitterStop() {
clearInterval(emitterInterv);
}
function isBetween(first, second, num) {
if (num >= first && num <= second) {
return true;
}
}
function slideUP() {
window.scrollBy(0, -window.innerHeight + numberFontSize);
}
function slideDown() {
window.scrollBy(0, window.innerHeight - numberFontSize);
}
function hideShowOverlayButtons(isOn) {
if (!isOn) {
document.getElementById("overlayButtonsSection").style.display = "none";
return;
}
document.getElementById("overlayButtonsSection").style.display = "flex";
}
function saveFontSizeInStorage(size) {
localStorage.setItem('savedFontSize', size);
}