1+ <!DOCTYPE html>
2+ < html lang ="en ">
3+
4+ < head >
5+ < link rel ="icon " href ="img/favicon.png " type ="image/gif " sizes ="16x16 ">
6+ < meta charset ="UTF-8 ">
7+ < title > Click and Drag</ title >
8+ < link rel ="stylesheet " href ="style.css ">
9+ </ head >
10+
11+ < body >
12+ < div class ="items ">
13+ < div class ="item item1 "> 01</ div >
14+ < div class ="item item2 "> 02</ div >
15+ < div class ="item item3 "> 03</ div >
16+ < div class ="item item4 "> 04</ div >
17+ < div class ="item item5 "> 05</ div >
18+ < div class ="item item6 "> 06</ div >
19+ < div class ="item item7 "> 07</ div >
20+ < div class ="item item8 "> 08</ div >
21+ < div class ="item item9 "> 09</ div >
22+ < div class ="item item10 "> 10</ div >
23+ < div class ="item item11 "> 11</ div >
24+ < div class ="item item12 "> 12</ div >
25+ < div class ="item item13 "> 13</ div >
26+ < div class ="item item14 "> 14</ div >
27+ < div class ="item item15 "> 15</ div >
28+ < div class ="item item16 "> 16</ div >
29+ < div class ="item item17 "> 17</ div >
30+ < div class ="item item18 "> 18</ div >
31+ < div class ="item item19 "> 19</ div >
32+ < div class ="item item20 "> 20</ div >
33+ < div class ="item item21 "> 21</ div >
34+ < div class ="item item22 "> 22</ div >
35+ < div class ="item item23 "> 23</ div >
36+ < div class ="item item24 "> 24</ div >
37+ < div class ="item item25 "> 25</ div >
38+ </ div >
39+
40+ < script type ="text/javascript ">
41+ const slider = document . querySelector ( '.items' ) ;
42+ let isDown = false ;
43+ let startX ;
44+ let scrollLeft ;
45+
46+ slider . addEventListener ( 'mousedown' , ( e ) => {
47+ isDown = true ;
48+ slider . classList . add ( 'active' ) ;
49+ startX = e . pageX - slider . offsetLeft ;
50+ scrollLeft = slider . scrollLeft ;
51+ } ) ;
52+
53+ slider . addEventListener ( 'mouseleave' , ( ) => {
54+ isDown = false ;
55+ slider . classList . remove ( 'active' ) ;
56+ } ) ;
57+
58+ slider . addEventListener ( 'mouseup' , ( ) => {
59+ isDown = false ;
60+ slider . classList . remove ( 'active' ) ;
61+ } ) ;
62+
63+ slider . addEventListener ( 'mousemove' , ( e ) => {
64+ if ( ! isDown ) return ; // stop the fn from running
65+ e . preventDefault ( ) ;
66+ const x = e . pageX - slider . offsetLeft ;
67+ const walk = ( x - startX ) * 3 ;
68+ slider . scrollLeft = scrollLeft - walk ;
69+ } ) ;
70+
71+ </ script >
72+
73+ </ body >
74+
75+ </ html >
0 commit comments