From 25ef47e85b2a7e4762ddb669ebf841fae445839c Mon Sep 17 00:00:00 2001 From: ASAP Date: Sat, 4 Nov 2017 15:17:03 -0400 Subject: [PATCH] Day 10 Completed --- .../index-START.html | 3 +-- .../script.js | 20 +++++++++++++++++++ 2 files changed, 21 insertions(+), 2 deletions(-) create mode 100644 10 - Hold Shift and Check Checkboxes/script.js diff --git a/10 - Hold Shift and Check Checkboxes/index-START.html b/10 - Hold Shift and Check Checkboxes/index-START.html index aeac48e7f9..84b40075a9 100644 --- a/10 - Hold Shift and Check Checkboxes/index-START.html +++ b/10 - Hold Shift and Check Checkboxes/index-START.html @@ -98,7 +98,6 @@ - + diff --git a/10 - Hold Shift and Check Checkboxes/script.js b/10 - Hold Shift and Check Checkboxes/script.js new file mode 100644 index 0000000000..8b078bf94b --- /dev/null +++ b/10 - Hold Shift and Check Checkboxes/script.js @@ -0,0 +1,20 @@ +let isShwifty = false; +let lastChecked; + +const doTheThing = (e) => { + let inBetween = false; + if (e.shiftKey && e.target.checked) { + checkBoxes.forEach(checkbox => { + if (checkbox === e.target || checkbox === lastChecked) { + inBetween = !inBetween; + } + if (inBetween) { + checkbox.checked = 'true'; + } + }); + } + lastChecked = e.target; +}; + +const checkBoxes = document.querySelectorAll('.item input[type="checkbox"]'); +checkBoxes.forEach(box => box.addEventListener('click', doTheThing));