-
Notifications
You must be signed in to change notification settings - Fork 728
Expand file tree
/
Copy pathsquare.js
More file actions
34 lines (28 loc) · 849 Bytes
/
square.js
File metadata and controls
34 lines (28 loc) · 849 Bytes
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
class Square {
constructor(ctx, listId, length, x, y, color) {
this.ctx = ctx;
this.listId = listId;
this.length = length;
this.x = x;
this.y = y;
this.color = color;
this.name = 'square';
}
draw() {
this.ctx.fillStyle = this.color;
this.ctx.fillRect(this.x, this.y, this.length, this.length);
}
reportArea() {
let listItem = document.createElement('li');
listItem.textContent = `${this.name} area is ${this.length * this.length}px squared.`
let list = document.getElementById(this.listId);
list.appendChild(listItem);
}
reportPerimeter() {
let listItem = document.createElement('li');
listItem.textContent = `${this.name} perimeter is ${this.length * 4}px.`
let list = document.getElementById(this.listId);
list.appendChild(listItem);
}
}
export { Square };