-
Notifications
You must be signed in to change notification settings - Fork 0
/
design.js
57 lines (46 loc) · 1.48 KB
/
design.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
$(document).ready(function() {
// Select color input
const colorPicker = $('#colorPicker');
// Select size input
const sizePicker = $('#sizePicker');
// When size is submitted by the user, call makeGrid()
const pixelCanvas = $('#pixelCanvas');
// size of grid height and width
const inputHeight = $('#inputHeight');
const inputWidth = $('#inputWidth');
// event listener for user clicks
sizePicker.submit(function() {
event.preventDefault();
//stops page from refreshing
pixelCanvas.children().remove();
//reset makeGrid
let height = inputHeight.val();
let width = inputWidth.val();
makeGrid(height, width);
});
// function to make grid
function makeGrid(height, width) {
for (let h = 1; h <= height; h++) {
pixelCanvas.append('<tr></tr>');
for (let w = 1; w <= width; w++) {
$('tr').last().append('<td></td>');
}
}
}
//event listener to add color to cells
pixelCanvas.on('click', 'td', function() {
let colorChoice = colorPicker.val();
$(this).css('background-color', colorChoice);
});
//double click removes user color from cell
pixelCanvas.on('dblclick', 'td', function() {
$(this).css('background-color', 'transparent');
});
//mouse click drag color function
pixelCanvas.on('mousedown mouseover', 'td', function() {
if(event.buttons===1){
let colorChoice = colorPicker.val();
$(this).css('background-color', colorChoice);
}
});
});