1
1
// Select the elements on the page - canvas, shake button
2
2
const canvas = document . querySelector ( '#etch-a-sketch' ) ;
3
3
const ctx = canvas . getContext ( '2d' ) ;
4
- const shakebutton = document . querySelector ( '. shake' ) ;
4
+ const shakebutton = document . querySelector ( '# shake' ) ;
5
5
const MOVE_AMOUNT = 10 ;
6
6
const slider = document . querySelector ( '.slider' ) ;
7
7
const background = document . querySelector ( '.wes-a-sketch' ) ;
8
8
const rainbowButton = document . querySelector ( '.rainbow' ) ;
9
9
let rainbowMode = false ;
10
10
const CANVAS_BACKGROUND = '212, 217, 221' ;
11
- const DEFAULT_STROKE_COLOR = '#515054'
11
+ const DEFAULT_STROKE_COLOR = '#515054' ;
12
+ const knobs = document . querySelectorAll ( '.knob' ) ;
12
13
13
14
// Setup our canvas for drawing
14
15
// Make variables called height and width from the same properties on our canavas
@@ -126,6 +127,10 @@ function handleKey(e) {
126
127
function clearCanvas ( ) {
127
128
canvas . classList . add ( 'shake' ) ;
128
129
background . classList . add ( 'shake' ) ;
130
+ shakebutton . classList . add ( 'shake' ) ;
131
+ rainbowButton . classList . add ( 'shake' ) ;
132
+ slider . classList . add ( 'shake' ) ;
133
+ knobs . forEach ( knob => knob . classList . add ( 'shake' ) ) ;
129
134
130
135
// Gradually shake away the drawing. Takes 3-4 shakes.
131
136
ctx . fillStyle = `rgba(${ CANVAS_BACKGROUND } , 0.8)`
@@ -139,6 +144,10 @@ function clearCanvas() {
139
144
function ( ) {
140
145
canvas . classList . remove ( 'shake' ) ;
141
146
background . classList . remove ( 'shake' ) ;
147
+ shakebutton . classList . remove ( 'shake' ) ;
148
+ rainbowButton . classList . remove ( 'shake' ) ;
149
+ slider . classList . remove ( 'shake' ) ;
150
+ knobs . forEach ( knob => knob . classList . remove ( 'shake' ) ) ;
142
151
} ,
143
152
{ once : true }
144
153
) ;
0 commit comments