Add windows
This commit is contained in:
parent
2db96e7c50
commit
098a96e133
4 changed files with 80 additions and 0 deletions
29
js/window.js
Normal file
29
js/window.js
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
// TODO: Rewrite to support more than one window per page.
|
||||
|
||||
const subwindow = document.getElementById("window");
|
||||
const titlebar = document.getElementById("window-titlebar");
|
||||
|
||||
let dragging = false;
|
||||
let prevPosX;
|
||||
let prevPosY;
|
||||
|
||||
titlebar.addEventListener("mousedown", (event) => {
|
||||
dragging = true;
|
||||
prevPosX = event.clientX;
|
||||
prevPosY = event.clientY;
|
||||
});
|
||||
|
||||
window.addEventListener("mousemove", (event) => {
|
||||
if (!dragging)
|
||||
return;
|
||||
const newPosX = subwindow.offsetLeft - (prevPosX - event.clientX);
|
||||
const newPosY = subwindow.offsetTop - (prevPosY - event.clientY);
|
||||
subwindow.style.left = newPosX + "px";
|
||||
subwindow.style.top = newPosY + "px";
|
||||
prevPosX = event.clientX;
|
||||
prevPosY = event.clientY;
|
||||
});
|
||||
|
||||
window.addEventListener("mouseup", (_event) => {
|
||||
dragging = false;
|
||||
});
|
||||
Loading…
Add table
Add a link
Reference in a new issue