-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathapp.js
46 lines (39 loc) · 1.33 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
//variables
const container = document.getElementById('container');
const gridChanger = document.getElementById('gridchanger');
//make Grid
makeGrid(16);
function makeGrid(numberOfElementsOnTheSide){
container.style.gridTemplateColumns = "1fr ".repeat(numberOfElementsOnTheSide);
container.style.gridTemplateRows = "1fr ".repeat(numberOfElementsOnTheSide);
for(let i = 0; i<numberOfElementsOnTheSide**2; i++){
let protodiv = document.createElement('div');
protodiv.classList.add('pixel');
container.appendChild(protodiv);
}
}
//make container empty
function deleteGrid(){
allPixels = document.querySelectorAll('.pixel');
allPixels.forEach(onepixel => container.removeChild(onepixel));
}
//change color when hovering
function paintOnHover(e){
e.target.style.backgroundColor = '#EDF5E1';
}
// canvasItems kann erst nach makeGrid bestimmt werden
function makedrawable(){
const canvasItems = document.querySelectorAll('.pixel');
canvasItems.forEach(onepixel => {
onepixel.addEventListener('mouseover',paintOnHover);
})
}
makedrawable();
//button
function clickButtonHandler(){
let numberOfElementsPerAxis = prompt("How many items on each axis?");
deleteGrid();
makeGrid(numberOfElementsPerAxis);
makedrawable();
}
gridChanger.addEventListener('click', clickButtonHandler);