From 6f838c2ce4bc0ccc63f5b498c16e2fecf3aa23ab Mon Sep 17 00:00:00 2001 From: CrimsonPug Date: Wed, 21 Dec 2016 10:22:20 -0500 Subject: [PATCH 1/5] practice makes perfect --- 01 - JavaScript Drum Kit/index-FINISHED.html | 2 +- 01 - JavaScript Drum Kit/index-START.html | 17 +++++++ 02 - JS + CSS Clock/index-START.html | 25 ++++++++++ 03 - CSS Variables/index-START.html | 28 +++++++++-- 04 - Array Cardio Day 1/index-START.html | 50 +++++++++++++++++++- 05 - Flex Panel Gallery/index-START.html | 35 +++++++++++++- 06 - Type Ahead/index-START.html | 41 ++++++++++++++++ 07 - Array Cardio Day 2/index-START.html | 24 ++++++++++ 08 - Fun with HTML5 Canvas/index-START.html | 45 ++++++++++++++++++ 9 files changed, 260 insertions(+), 7 deletions(-) diff --git a/01 - JavaScript Drum Kit/index-FINISHED.html b/01 - JavaScript Drum Kit/index-FINISHED.html index 1a16d0997c..7b29f4e6e9 100644 --- a/01 - JavaScript Drum Kit/index-FINISHED.html +++ b/01 - JavaScript Drum Kit/index-FINISHED.html @@ -67,10 +67,10 @@ const audio = document.querySelector(`audio[data-key="${e.keyCode}"]`); const key = document.querySelector(`div[data-key="${e.keyCode}"]`); if (!audio) return; - key.classList.add('playing'); audio.currentTime = 0; audio.play(); + key.classList.add('playing'); } const keys = Array.from(document.querySelectorAll('.key')); diff --git a/01 - JavaScript Drum Kit/index-START.html b/01 - JavaScript Drum Kit/index-START.html index 4070d32767..49fbda9913 100644 --- a/01 - JavaScript Drum Kit/index-START.html +++ b/01 - JavaScript Drum Kit/index-START.html @@ -58,7 +58,24 @@ diff --git a/02 - JS + CSS Clock/index-START.html b/02 - JS + CSS Clock/index-START.html index 2712384201..94e845f2e4 100644 --- a/02 - JS + CSS Clock/index-START.html +++ b/02 - JS + CSS Clock/index-START.html @@ -61,12 +61,37 @@ background:black; position: absolute; top:50%; + transform-origin:100%; + transform: rotate(90deg); + transition: all 0.05s; + transition-timing-function: cubic-bezier(0.1,2.7,0.58,1) } diff --git a/03 - CSS Variables/index-START.html b/03 - CSS Variables/index-START.html index 7171607a8b..bb049c3bc8 100644 --- a/03 - CSS Variables/index-START.html +++ b/03 - CSS Variables/index-START.html @@ -22,9 +22,21 @@

Update CSS Variables with JS

diff --git a/04 - Array Cardio Day 1/index-START.html b/04 - Array Cardio Day 1/index-START.html index 4162bce339..12fa6e1dc0 100644 --- a/04 - Array Cardio Day 1/index-START.html +++ b/04 - Array Cardio Day 1/index-START.html @@ -33,28 +33,74 @@ // Array.prototype.filter() // 1. Filter the list of inventors for those who were born in the 1500's + const fifteen = inventors.filter(investor =>{ + if (investor.year >= 1500 && investor.year <1600){ + console.log(investor) + } + }) // Array.prototype.map() // 2. Give us an array of the inventors' first and last names + const fullName = console.log(inventors.map(inventor => inventor.first + ' ' + inventor.last)) // Array.prototype.sort() // 3. Sort the inventors by birthdate, oldest to youngest + // const ordered = inventors.sort(function(firstPerson,secondPerson){ + // if(firstPerson.year > secondPerson.year){ + // return 1; + // } else { + // return -1; + // } + // }); + const ordered = inventors.sort((a,b) => a.year>b.year ? 1:-1); + console.table(ordered) // Array.prototype.reduce() // 4. How many years did all the inventors live? - + const totalYear = inventors.reduce((total,inventor)=>{ + return total + (inventor.passed - inventor.year); + },0); + console.log(totalYear) // 5. Sort the inventors by years lived + // const oldest = inventors.sort((a,b) => (a.passed - a.year)>(b.passed>b.year) ? 1:-1); + // console.table(oldest); + + const oldest = inventors.sort(function(a, b) { + const lastInventor = a.passed - a.year; + const nextInventor = b.passed - b.year; + return lastInventor > nextInventor ? -1 : 1; + }); + console.table(oldest); // 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 list = Array.from(category.querySelectorAll('a')); - + // const de = list + // .map(link => link.textContent) + // .filter(streetName => streetName.includes('de')); // 7. sort Exercise // Sort the people alphabetically by last name + const alpha = people.sort(function(lastOne,nextOne){ + const [aLast,aFirst] = lastOne.split(', ') + const [bLast,bFirst] = nextOne.split(', ') + + return aLast > bLast ? 1:-1; + }) + console.log(alpha) // 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(function(obj,item){ + if (!obj[item]){ + obj[item] = 0; + } + obj[item]++; + return obj + },{}); + console.log(transportation) diff --git a/05 - Flex Panel Gallery/index-START.html b/05 - Flex Panel Gallery/index-START.html index e1d643ad5c..c880931abc 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; } @@ -49,13 +55,23 @@ .panel3 { background-image:url(https://images.unsplash.com/photo-1465188162913-8fb5709d6d57?ixlib=rb-0.3.5&q=80&fm=jpg&crop=faces&cs=tinysrgb&w=1500&h=1500&fit=crop&s=967e8a713a4e395260793fc8c802901d); } .panel4 { background-image:url(https://source.unsplash.com/ITjiVXcwVng/1500x1500); } .panel5 { background-image:url(https://source.unsplash.com/3MNzGlQM7qs/1500x1500); } - + /* Flex-items*/ .panel > * { 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 {transform: translateY(0);} + .panel > *:last-child {transform: translateY(100%);} + .panel.open-active > *:last-child {transform: translateY(0);} + + .panel p { text-transform: uppercase; font-family: 'Amatic SC', cursive; @@ -68,6 +84,7 @@ .panel.open { font-size:40px; + flex:5; } .cta { @@ -108,6 +125,22 @@ diff --git a/06 - Type Ahead/index-START.html b/06 - Type Ahead/index-START.html index 1436886918..7b8e72d62e 100644 --- a/06 - Type Ahead/index-START.html +++ b/06 - Type Ahead/index-START.html @@ -16,6 +16,47 @@ diff --git a/07 - Array Cardio Day 2/index-START.html b/07 - Array Cardio Day 2/index-START.html index 206ec31aa0..8d8d7d750c 100644 --- a/07 - Array Cardio Day 2/index-START.html +++ b/07 - Array Cardio Day 2/index-START.html @@ -26,15 +26,39 @@ // Some and Every Checks // Array.prototype.some() // is at least one person 19? + // const isAdult = people.some(function(person){ + // const currentYear = (new Date()).getFullYear(); + // if (currentYear - person.year >= 19){ + // return true + // } + // }) + const isAdult = people.some((person)=>{ + return (new Date().getFullYear()) - person.year >= 19; + }) + // console.log(isAdult) + // Array.prototype.every() // is everyone 19? + const allAdult = people.every((person)=>{ + return (new Date().getFullYear()) - person.year >= 19; + }) + console.log(allAdult) // 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 findComment = comments.find((comment)=>{ + return comment.id === 823423; + }); + console.log(findComment) // Array.prototype.findIndex() // Find the comment with this ID // delete the comment with the ID of 823423 + const deleteComment = comments.findIndex((comment)=>{ + return comment.id === 2039842; + }); + console.log(deleteComment) + comments.splice(deleteComment,1) diff --git a/08 - Fun with HTML5 Canvas/index-START.html b/08 - Fun with HTML5 Canvas/index-START.html index 37c148df07..ec18b4264d 100644 --- a/08 - Fun with HTML5 Canvas/index-START.html +++ b/08 - Fun with HTML5 Canvas/index-START.html @@ -7,6 +7,51 @@