File tree Expand file tree Collapse file tree 1 file changed +35
-0
lines changed
10 - Hold Shift and Check Checkboxes Expand file tree Collapse file tree 1 file changed +35
-0
lines changed Original file line number Diff line number Diff line change 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 >
You can’t perform that action at this time.
0 commit comments