Skip to content

Commit 91c8865

Browse files
committed
Completed lesson 27
Walk the walk.
1 parent cddcda5 commit 91c8865

File tree

1 file changed

+30
-0
lines changed

1 file changed

+30
-0
lines changed

27 - Click and Drag/index-START.html

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,36 @@
3535
</div>
3636

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

4070
</body>

0 commit comments

Comments
 (0)