-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathscript.js
More file actions
35 lines (29 loc) · 1.17 KB
/
script.js
File metadata and controls
35 lines (29 loc) · 1.17 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
const scrapbook = document.querySelector('.scrapbook');
let startX, scrollLeft, isDown;
scrapbook.addEventListener('mousedown', (e) => {
isDown = true;
startX = e.pageX - scrapbook.offsetLeft;
scrollLeft = scrapbook.scrollLeft;
});
scrapbook.addEventListener('mouseleave', () => {
isDown = false;
});
scrapbook.addEventListener('mouseup', () => {
isDown = false;
});
scrapbook.addEventListener('mousemove', (e) => {
if (!isDown) return;
e.preventDefault();
const x = e.pageX - scrapbook.offsetLeft;
const walk = (x - startX) * 3;
scrapbook.scrollLeft = scrollLeft - walk;
});
scrapbook.addEventListener('touchstart', (e) => {
startX = e.touches[0].pageX - scrapbook.offsetLeft;
scrollLeft = scrapbook.scrollLeft;
});
scrapbook.addEventListener('touchmove', (e) => {
const x = e.touches[0].pageX - scrapbook.offsetLeft;
const walk = (x - startX) * 2;
scrapbook.scrollLeft = scrollLeft - walk;
});