@@ -34,4 +34,212 @@ buttons.forEach(function (button){
3434 });
3535});
3636
37+ ```
38+
39+ ## project 2 solution
40+
41+ ``` javascript
42+ const form = document .querySelector (' form' );
43+ // this usecase will give you empty
44+ // const height = parseInt(document.querySelector('#height').value)
45+
46+ form .addEventListener (' submit' , function (e ) {
47+ e .preventDefault ();
48+
49+ const height = parseInt (document .querySelector (' #height' ).value );
50+ const weight = parseInt (document .querySelector (' #weight' ).value );
51+ const results = document .querySelector (' #results' );
52+
53+ if (height === ' ' || height < 0 || isNaN (height)) {
54+ results .innerHTML = ` Please give a valid height ${ height} ` ;
55+ } else if (weight === ' ' || weight < 0 || isNaN (weight)) {
56+ results .innerHTML = ` Please give a valid weight ${ weight} ` ;
57+ } else {
58+ const bmi = (weight / ((height * height) / 10000 )).toFixed (2 );
59+ // show the result
60+ results .innerHTML = ` <span >${ bmi} </span >` ;
61+ }
62+ });
63+
64+
65+ ```
66+
67+ ## project 3 solution code
68+
69+ ``` javascript
70+ const clock = document .getElementById (' clock' );
71+ // const clock = document.querySelector('#clock')
72+
73+ setInterval (function () {
74+ let date = new Date ();
75+ // console.log(date.toLocaleTimeString());
76+ clock .innerHTML = date .toLocaleTimeString ();
77+ }, 1000 );
78+
79+
80+ ```
81+
82+ ## project 4 solution
83+
84+
85+ ``` javascript
86+
87+ let randomNumber = parseInt (Math .random () * 100 + 1 );
88+
89+ const submit = document .querySelector (' #subt' );
90+ const userInput = document .querySelector (' #guessField' );
91+ const guessSlot = document .querySelector (' .guesses' );
92+ const remaining = document .querySelector (' .lastResult' );
93+ const lowOrHi = document .querySelector (' .lowOrHi' );
94+ const startOver = document .querySelector (' .resultParas' );
95+
96+ const p = document .createElement (' p' );
97+
98+ let prevGuess = [];
99+ let numGuess = 1 ;
100+
101+ let playGame = true ;
102+
103+ if (playGame) {
104+ submit .addEventListener (' click' , function (e ) {
105+ e .preventDefault ();
106+ const guess = parseInt (userInput .value );
107+ console .log (guess);
108+ validateGuess (guess);
109+ });
110+ }
111+
112+ function validateGuess (guess ) {
113+ if (isNaN (guess)) {
114+ alert (' PLease enter a valid number' );
115+ } else if (guess < 1 ) {
116+ alert (' PLease enter a number more than 1' );
117+ } else if (guess > 100 ) {
118+ alert (' PLease enter a number less than 100' );
119+ } else {
120+ prevGuess .push (guess);
121+ if (numGuess === 11 ) {
122+ displayGuess (guess);
123+ displayMessage (` Game Over. Random number was ${ randomNumber} ` );
124+ endGame ();
125+ } else {
126+ displayGuess (guess);
127+ checkGuess (guess);
128+ }
129+ }
130+ }
131+
132+ function checkGuess (guess ) {
133+ if (guess === randomNumber) {
134+ displayMessage (` You guessed it right` );
135+ endGame ();
136+ } else if (guess < randomNumber) {
137+ displayMessage (` Number is TOOO low` );
138+ } else if (guess > randomNumber) {
139+ displayMessage (` Number is TOOO High` );
140+ }
141+ }
142+
143+ function displayGuess (guess ) {
144+ userInput .value = ' ' ;
145+ guessSlot .innerHTML += ` ${ guess} , ` ;
146+ numGuess++ ;
147+ remaining .innerHTML = ` ${ 11 - numGuess} ` ;
148+ }
149+
150+ function displayMessage (message ) {
151+ lowOrHi .innerHTML = ` <h2 >${ message} </h2 >` ;
152+ }
153+
154+ function endGame () {
155+ userInput .value = ' ' ;
156+ userInput .setAttribute (' disabled' , ' ' );
157+ p .classList .add (' button' );
158+ p .innerHTML = ` <h2 id =" newGame" >Start new Game</h2 >` ;
159+ startOver .appendChild (p);
160+ playGame = false ;
161+ newGame ();
162+ }
163+
164+ function newGame () {
165+ const newGameButton = document .querySelector (' #newGame' );
166+ newGameButton .addEventListener (' click' , function (e ) {
167+ randomNumber = parseInt (Math .random () * 100 + 1 );
168+ prevGuess = [];
169+ numGuess = 1 ;
170+ guessSlot .innerHTML = ' ' ;
171+ remaining .innerHTML = ` ${ 11 - numGuess} ` ;
172+ userInput .removeAttribute (' disabled' );
173+ startOver .removeChild (p);
174+
175+ playGame = true ;
176+ });
177+ }
178+
179+
180+ ```
181+
182+
183+ # Project 5 solution
184+
185+ ``` javascript
186+ const insert = document .getElementById (' insert' );
187+
188+ window .addEventListener (' keydown' , (e ) => {
189+ insert .innerHTML = `
190+ <div class =' color' >
191+ <table >
192+ <tr >
193+ <th >Key</th >
194+ <th >Keycode</th >
195+ <th >Code</th >
196+ </tr >
197+ <tr >
198+ <td >${ e .key === ' ' ? ' Space' : e .key } </td >
199+ <td >${ e .keyCode } </td >
200+ <td >${ e .code } </td >
201+ </tr >
202+
203+ </table >
204+ </div >
205+ ` ;
206+ });
207+
208+
209+ ```
210+
211+ # Project 6 Solution
212+
213+ ``` javascript
214+ // generate a random color
215+
216+ const randomColor = function () {
217+ const hex = ' 0123456789ABCDEF' ;
218+ let color = ' #' ;
219+ for (let i = 0 ; i < 6 ; i++ ) {
220+ color += hex[Math .floor (Math .random () * 16 )];
221+ }
222+ return color;
223+ };
224+
225+ let intervalId;
226+ const startChangingColor = function () {
227+ if (! intervalId) {
228+ intervalId = setInterval (changeBgColor, 1000 );
229+ }
230+
231+ function changeBgColor () {
232+ document .body .style .backgroundColor = randomColor ();
233+ }
234+ };
235+ const stopChangingColor = function () {
236+ clearInterval (intervalId);
237+ intervalId = null ;
238+ };
239+
240+ document .querySelector (' #start' ).addEventListener (' click' , startChangingColor);
241+
242+ document .querySelector (' #stop' ).addEventListener (' click' , stopChangingColor);
243+
244+
37245```
0 commit comments