-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathscript.js
More file actions
32 lines (27 loc) · 783 Bytes
/
script.js
File metadata and controls
32 lines (27 loc) · 783 Bytes
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
// Get the Div element
const draggableDiv = document.getElementById('mydiv');
// Initialize the position variables
let offsetX = 0;
let offsetY = 0;
let mouseX = 0;
let mouseY = 0;
isMouseDown = false;
// Mouse down event
draggableDiv.addEventListener('mousedown', (e) => {
isMouseDown = true;
offsetX = draggableDiv.offsetLeft - e.clientX;
offsetY = draggableDiv.offsetTop - e.clientY;
});
// Mouse move event
document.addEventListener('mousemove', (e) => {
if(!isMouseDown) return;
e.preventDefault();
mouseX = e.clientX + offsetX;
mouseY = e.clientY + offsetY;
draggableDiv.style.left = mouseX + 'px';
draggableDiv.style.top = mouseY + 'px';
});
// Mouse up event
document.addEventListener('mouseup', (e) => {
isMouseDown = false;
});