-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathScript.js
More file actions
39 lines (31 loc) · 1.51 KB
/
Script.js
File metadata and controls
39 lines (31 loc) · 1.51 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
36
37
38
39
// Get the extension element
let extensionElement = document.querySelector('.background');
// Variables to store the offset between mouse pointer and the extension's top-left corner
let offsetX, offsetY;
// Function to handle mouse down event
function onMouseDown(event) {
// Calculate the offset between mouse pointer and the top-left corner of the extension
offsetX = event.clientX - extensionElement.getBoundingClientRect().left;
offsetY = event.clientY - extensionElement.getBoundingClientRect().top;
// Add event listeners for mouse move and mouse up events
document.addEventListener('mousemove', onMouseMove);
document.addEventListener('mouseup', onMouseUp);
// Set the extension's position to relative to enable dragging
extensionElement.style.position = 'relative';
}
// Function to handle mouse move event
function onMouseMove(event) {
// Update the position of the extension based on mouse movement
extensionElement.style.left = (event.clientX - offsetX) + 'px';
extensionElement.style.top = (event.clientY - offsetY) + 'px';
}
// Function to handle mouse up event
function onMouseUp() {
// Remove event listeners for mouse move and mouse up events
document.removeEventListener('mousemove', onMouseMove);
document.removeEventListener('mouseup', onMouseUp);
// Reset the extension's position style
extensionElement.style.position = '';
}
// Add event listener for mouse down event on the extension element
extensionElement.addEventListener('mousedown', onMouseDown);