Skip to content

Commit 0967462

Browse files
committed
27 finished
1 parent 103a59a commit 0967462

File tree

1 file changed

+37
-4
lines changed

1 file changed

+37
-4
lines changed

27 - Click and Drag/index-START.html

Lines changed: 37 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
11
<!DOCTYPE html>
22
<html lang="en">
3+
34
<head>
45
<meta charset="UTF-8">
56
<title>Click and Drag</title>
67
<link rel="stylesheet" href="style.css">
78
</head>
9+
810
<body>
911
<div class="items">
1012
<div class="item item1">01</div>
@@ -34,8 +36,39 @@
3436
<div class="item item25">25</div>
3537
</div>
3638

37-
<script>
38-
</script>
39+
<script>
40+
const slider = document.querySelector('.items');
41+
let isDown = false;
42+
let startX;
43+
let scrollLeft;
44+
45+
slider.addEventListener('mousedown', (e) => {
46+
isDown = true;
47+
slider.classList.add('active');
48+
startX = e.pageX - slider.offsetLeft;
49+
scrollLeft = slider.scrollLeft;
50+
});
51+
52+
slider.addEventListener('mouseleave', () => {
53+
isDown = false;
54+
slider.classList.remove('active');
55+
});
56+
57+
slider.addEventListener('mouseup', () => {
58+
isDown = false;
59+
slider.classList.remove('active');
60+
});
61+
62+
slider.addEventListener('mousemove', (e) => {
63+
if (!isDown) return;
64+
e.preventDefault();
65+
const x = e.pageX - slider.offsetLeft;
66+
console.log({x, startX});
67+
const walk = (x - startX) * 6.8;
68+
slider.scrollLeft = scrollLeft - walk;
69+
});
70+
</script>
71+
72+
</body>
3973

40-
</body>
41-
</html>
74+
</html>

0 commit comments

Comments
 (0)