-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathscript.js
More file actions
67 lines (54 loc) · 1.81 KB
/
script.js
File metadata and controls
67 lines (54 loc) · 1.81 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
/*!
* Copyright (c) 2024 Mo Tiltmann
* Licensed under the GNU General Public License v3 (GPLv3).
* See the LICENSE file for details.
*/
let number_matrix = document.querySelector("#numbermatrix");
let matrix_IDK = 100;
GenerateField();
function GenerateField() {
let matrixHTML = `<button class="strikethrough">1</button>`;
for (let index = 1; index < matrix_IDK; index++) {
matrixHTML += `<button id="Button-${index + 1}" class="Number-Button" onclick="onclickevent(${index + 1})">${index + 1}</button>`;
}
number_matrix.innerHTML = matrixHTML;
}
function getDivisibleNumbers(x) {
let result = [];
for (let i = x+1; i <= matrix_IDK; i++) {
if (i % x === 0) {
result.push(i);
}
}
return result;
}
function setButton(ButtonNumber, content) {
if (content == "strikethrough") {
document.querySelector(`#Button-${ButtonNumber}`).classList.add("strikethrough")
} else {
document.querySelector(`#Button-${ButtonNumber}`).innerHTML = content;
}
}
function onclickevent(number) {
//console.log("Clicked "+number);
try {
document.querySelector(".ActiveNumber").classList.remove("ActiveNumber");
} catch (error) {}
Divisible = getDivisibleNumbers(number);
Divisible.forEach(element => {
setButton(element, "strikethrough");
});
document.querySelector(`#Button-${number}`).classList.add("ActiveNumber");
};
document.querySelector("#Board-Size-Input").addEventListener("keydown", (event) => {
if (event.key === 'Enter') {
matrix_IDK = document.querySelector("#Board-Size-Input").value;
GenerateField();
}
});
function ResetBoard() {
const ButtonArray = document.querySelectorAll(".Number-Button");
ButtonArray.forEach((button) => {
button.classList.remove("strikethrough");
});
};