From 9b4d46a7c37353f6e4e41fdad22e0c7828d1bedb Mon Sep 17 00:00:00 2001 From: Robert Vrabel Date: Wed, 11 Jan 2017 14:05:33 -0500 Subject: [PATCH 01/13] Drum kit code added --- 01 - JavaScript Drum Kit/index-START.html | 35 +++++++++++++++++++++-- 1 file changed, 33 insertions(+), 2 deletions(-) diff --git a/01 - JavaScript Drum Kit/index-START.html b/01 - JavaScript Drum Kit/index-START.html index 4070d32767..8ab322d5d8 100644 --- a/01 - JavaScript Drum Kit/index-START.html +++ b/01 - JavaScript Drum Kit/index-START.html @@ -57,9 +57,40 @@ - + // If the key pressed does exist as playable audio + if(!audio) { + return; + } + + // Reset the audio to the start so it can be pressed multiple times + audio.currentTime = 0; + + // Play the audio + audio.play(); + + key.classList.add('playing'); + } + + function removeTransition(e) { + // Check for the transform property to finish + if(e.propertyName !== 'transform') { + return; + } + + this.classList.remove('playing'); + } + + window.addEventListener('keydown', playSound); + + const keys = document.querySelectorAll('.key'); + + keys.forEach(key => key.addEventListener('transitionend', removeTransition)); + From 2fbb8d06d579d9aec8b45d61093e60150079dc06 Mon Sep 17 00:00:00 2001 From: Robert Vrabel Date: Wed, 11 Jan 2017 14:27:17 -0500 Subject: [PATCH 02/13] Rotate the clock --- 02 - JS + CSS Clock/index-START.html | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/02 - JS + CSS Clock/index-START.html b/02 - JS + CSS Clock/index-START.html index 2712384201..ebc79773fd 100644 --- a/02 - JS + CSS Clock/index-START.html +++ b/02 - JS + CSS Clock/index-START.html @@ -61,12 +61,38 @@ background:black; position: absolute; top:50%; + transform-origin: 100%; + transform: rotate(90deg); + transition: all 0.05s; + transition-timing-function: cubic-bezier(0.06, 2.34, 0.58, 1); } From bfbe7a7939cd3a23f98c8a06f26615d8c5416af4 Mon Sep 17 00:00:00 2001 From: Robert Vrabel Date: Fri, 20 Jan 2017 11:52:14 -0500 Subject: [PATCH 03/13] Css variable video completed --- 03 - CSS Variables/index-START.html | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/03 - CSS Variables/index-START.html b/03 - CSS Variables/index-START.html index ca2b59d077..442042bd64 100644 --- a/03 - CSS Variables/index-START.html +++ b/03 - CSS Variables/index-START.html @@ -21,6 +21,21 @@

Update CSS Variables with JS

From d2be8fbae5ba1ebb9d15aa18600d7d110d95875e Mon Sep 17 00:00:00 2001 From: Robert Vrabel Date: Fri, 20 Jan 2017 14:55:18 -0500 Subject: [PATCH 04/13] Lesson 4 completed --- 04 - Array Cardio Day 1/index-START.html | 30 +++++++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git a/04 - Array Cardio Day 1/index-START.html b/04 - Array Cardio Day 1/index-START.html index eec0ffc31d..1392c71af6 100644 --- a/04 - Array Cardio Day 1/index-START.html +++ b/04 - Array Cardio Day 1/index-START.html @@ -31,29 +31,57 @@ // Array.prototype.filter() // 1. Filter the list of inventors for those who were born in the 1500's + const fifteenhundreeds = inventors.filter(item => item.year > 1499 && item.year < 1600); // Array.prototype.map() // 2. Give us an array of the inventors' first and last names + const names = inventors.map(item => `${item.first} ${item.last}`); // Array.prototype.sort() // 3. Sort the inventors by birthdate, oldest to youngest + const sorted = inventors.sort((a,b) => a.year > b.year ? 1 : -1); // Array.prototype.reduce() // 4. How many years did all the inventors live? + const years = inventors.reduce((total, item) => { + return total + (item.passed - item.year); + }, 0); // 5. Sort the inventors by years lived + const sortedYears = inventors.sort((a,b) => (a.passed - a.year) > (b.passed - b.year) ? 1 : -1); // 6. create a list of Boulevards in Paris that contain 'de' anywhere in the name // https://en.wikipedia.org/wiki/Category:Boulevards_in_Paris - + /* + const category = document.querySelector('.mw-category'); + const links = Array.from(category.querySelectorAll('a')); + const de = links + .map(link => link.textContent) + .filter(streetName => streetName.includes('de')); + */ // 7. sort Exercise // Sort the people alphabetically by last name + const alpha = people.sort((last, next) => { + const [aLast, aFirst] = last.split(', '); + const [bLast, bFirst] = next.split(', '); + return aLast > bLast ? 1 : -1; + }); + // 8. Reduce Exercise // Sum up the instances of each of these const data = ['car', 'car', 'truck', 'truck', 'bike', 'walk', 'car', 'van', 'bike', 'walk', 'car', 'van', 'car', 'truck' ]; + const transportation = data.reduce((obj, item) => { + if (!obj[item]) { + obj[item] = 0; + } + + obj[item]++; + + return obj; + }, {}); From 5d48ad7f2792be972b724fcc0d7fc340bac0d3aa Mon Sep 17 00:00:00 2001 From: Robert Vrabel Date: Fri, 20 Jan 2017 15:27:23 -0500 Subject: [PATCH 05/13] Lesson 5 completed --- 05 - Flex Panel Gallery/index-START.html | 34 ++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/05 - Flex Panel Gallery/index-START.html b/05 - Flex Panel Gallery/index-START.html index e1d643ad5c..7fb79ccae1 100644 --- a/05 - Flex Panel Gallery/index-START.html +++ b/05 - Flex Panel Gallery/index-START.html @@ -24,6 +24,7 @@ .panels { min-height:100vh; overflow: hidden; + display: flex; } .panel { @@ -41,6 +42,11 @@ font-size: 20px; background-size:cover; background-position:center; + flex: 1; + justify-content: center; + align-items: center; + display: flex; + flex-direction: column; } @@ -54,6 +60,20 @@ margin:0; width: 100%; transition:transform 0.5s; + flex: 1 0 auto; + display: flex; + justify-content: center; + align-items: center; + } + + .panel > *:first-child { + transform: translateY(-100%); + } + .panel.open-active > *:first-child, .panel.open-active > *:last-child { + transform: translateY(0); + } + .panel > *:last-child { + transform: translateY(100%); } .panel p { @@ -67,6 +87,7 @@ } .panel.open { + flex: 5; font-size:40px; } @@ -107,7 +128,20 @@ From df5d1655b1df603082d27676b756002567c0630c Mon Sep 17 00:00:00 2001 From: Robert Vrabel Date: Thu, 26 Jan 2017 14:20:21 -0500 Subject: [PATCH 06/13] Lesson 6 completed --- 06 - Type Ahead/index-START.html | 43 +++++++++++++++++++++++++++++++- 1 file changed, 42 insertions(+), 1 deletion(-) diff --git a/06 - Type Ahead/index-START.html b/06 - Type Ahead/index-START.html index 1436886918..1b818d7e84 100644 --- a/06 - Type Ahead/index-START.html +++ b/06 - Type Ahead/index-START.html @@ -15,7 +15,48 @@ From a19bca321b325cb13753215b4b0f95c165831da8 Mon Sep 17 00:00:00 2001 From: Robert Vrabel Date: Thu, 26 Jan 2017 14:31:45 -0500 Subject: [PATCH 07/13] Lesson 7 completed --- 07 - Array Cardio Day 2/index-START.html | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/07 - Array Cardio Day 2/index-START.html b/07 - Array Cardio Day 2/index-START.html index 969566ff78..f5e53d756b 100644 --- a/07 - Array Cardio Day 2/index-START.html +++ b/07 - Array Cardio Day 2/index-START.html @@ -26,16 +26,26 @@ // Some and Every Checks // Array.prototype.some() // is at least one person 19 or older? + const isAdult = people.some(person => + ((new Date()).getFullYear() - person.year > 19) + ); + // Array.prototype.every() // is everyone 19 or older? + const allAdults = people.every(person => ((new Date()).getFullYear() - person.year > 19)); // Array.prototype.find() // Find is like filter, but instead returns just the one you are looking for // find the comment with the ID of 823423 + const comment = comments.find(comment => comment.id == 823423); // Array.prototype.findIndex() // Find the comment with this ID // delete the comment with the ID of 823423 - + const index = comments.findIndex(comment => comment.id === 823423); + const newComments = [ + ...comments.slice(0, index), + ...comments.slice(index +1) + ]; From a462d0c1a64977b133613f7e828ed5ddc4ae8d4f Mon Sep 17 00:00:00 2001 From: Robert Vrabel Date: Thu, 26 Jan 2017 15:13:34 -0500 Subject: [PATCH 08/13] Lesson 8 completed --- 08 - Fun with HTML5 Canvas/index-START.html | 52 +++++++++++++++++++++ 1 file changed, 52 insertions(+) diff --git a/08 - Fun with HTML5 Canvas/index-START.html b/08 - Fun with HTML5 Canvas/index-START.html index 37c148df07..3b2b87fbc1 100644 --- a/08 - Fun with HTML5 Canvas/index-START.html +++ b/08 - Fun with HTML5 Canvas/index-START.html @@ -7,6 +7,58 @@