Skip to content

Commit 901c873

Browse files
committed
completed challenge 27
1 parent 420942d commit 901c873

File tree

1 file changed

+32
-3
lines changed

1 file changed

+32
-3
lines changed

27 - Click and Drag/index.html

+32-3
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>
@@ -33,9 +35,36 @@
3335
<div class="item item24">24</div>
3436
<div class="item item25">25</div>
3537
</div>
38+
<script>
39+
const slider = document.querySelector('.items');
40+
let isDown = false;
41+
let startX;
42+
let scrollLeft;
43+
44+
slider.addEventListener('mousedown', (e) => {
45+
isDown = true;
46+
slider.classList.add('active');
47+
startX = e.pageX - slider.offsetLeft;
48+
scrollLeft = slider.scrollLeft;
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');
3658

37-
<script>
38-
</script>
59+
});
60+
slider.addEventListener('mousemove', (e) => {
61+
if (!isDown) return;
62+
e.preventDefault();
63+
x = e.pageX - slider.offsetLeft;
64+
walk = x - startX;
65+
slider.scrollLeft = scrollLeft - walk;
66+
});
67+
</script>
68+
</body>
3969

40-
</body>
4170
</html>

0 commit comments

Comments
 (0)