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));