Skip to content

Commit 38b96b6

Browse files
committed
done
1 parent 9464094 commit 38b96b6

File tree

1 file changed

+35
-0
lines changed

1 file changed

+35
-0
lines changed

10 - Hold Shift and Check Checkboxes/index-START.html

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,41 @@
104104
</div>
105105

106106
<script>
107+
108+
const checkBox = document.querySelectorAll(`.item input[type='checkBox']`);
109+
110+
let lastChecked;
111+
112+
function processCheck(e) {
113+
let inBetween = false;
114+
if (e.shiftKey && this.checked ){
115+
checkBox.forEach(check => {
116+
console.log(check)
117+
if(check === this || check === lastChecked){
118+
inBetween = !inBetween;
119+
console.log(`checkpoint: ${inBetween}`);
120+
}
121+
122+
if (inBetween === true) {
123+
check.checked = true;
124+
}
125+
});
126+
};
127+
lastChecked = this;
128+
}
129+
130+
checkBox.forEach(check => check.addEventListener('click', processCheck));
131+
132+
// 1. on va chercher toutes le checkbox
133+
// 2. on pose un micro sur la checkbox on clicks
134+
// 3. on fait la méthode pour que la chose comprenne quel est l'array de check est de ça à ça
135+
// on a besoin d'une variable last checked pour savoir quelle est la derniere qui a été pressionnée
136+
// On a besoin de vériiers que shiftkey is down and that checkbox has been checked
137+
// On fait une variable in between fausse par défault qui nous permet de trouvber la fourchette de checkbox entre les deux
138+
// on fait un boucle sur chaque checknox et on tester si l'événement = la checkbox qu'on check ou lastchecked puis on implémente l'action.
139+
// Dans l'action on toggle le false de inbetween
140+
// Maintenant qu'on sait que inbetween est vrai aux deux endroits on fait une deuxieme if et on dit inbetween true checkbox.checked = true
141+
// on
107142
</script>
108143
</body>
109144
</html>

0 commit comments

Comments
 (0)