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