first commit
commit
a8a0444059
@ -0,0 +1,34 @@
|
||||
body {
|
||||
height: 100vh;
|
||||
width: 100vw;
|
||||
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
|
||||
background: url("../img/wallpaper.jpg");
|
||||
background-size: cover;
|
||||
background-position: center;
|
||||
}
|
||||
|
||||
.window {
|
||||
position: absolute;
|
||||
overflow: auto;
|
||||
height: 300px;
|
||||
width: 500px;
|
||||
top: 16px;
|
||||
left: 16px;
|
||||
}
|
||||
|
||||
.window.active {
|
||||
z-index: 2;
|
||||
}
|
||||
|
||||
.window-body {
|
||||
padding: 8px 12px;
|
||||
height: calc(100% - 52px);
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
h1,h2,h3,h4,h5,h6,p {
|
||||
margin: 0;
|
||||
}
|
Binary file not shown.
After Width: | Height: | Size: 628 KiB |
@ -0,0 +1,16 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Document</title>
|
||||
<link rel="stylesheet" href="css/7.css">
|
||||
<link rel="stylesheet" href="css/custom.css">
|
||||
<script src="js/drag.js" defer></script>
|
||||
<script src="js/window.js" defer></script>
|
||||
<script src="js/main.js" defer></script>
|
||||
</head>
|
||||
<body>
|
||||
</body>
|
||||
</html>
|
@ -0,0 +1,99 @@
|
||||
function makeDraggable(elmnt) {
|
||||
let currentPosX = 0, currentPosY = 0, previousPosX = 0, previousPosY = 0;
|
||||
|
||||
if (elmnt.querySelector('.title-bar')) {
|
||||
elmnt.querySelector('.title-bar').addEventListener("mousedown", dragMouseDown);
|
||||
} else {
|
||||
elmnt.addEventListener("mousedown", dragMouseDown);
|
||||
}
|
||||
|
||||
function dragMouseDown(e) {
|
||||
if(e.button != 0) return;
|
||||
e.preventDefault();
|
||||
previousPosX = e.clientX;
|
||||
previousPosY = e.clientY;
|
||||
document.addEventListener("mouseup", closeDragElement);
|
||||
document.addEventListener("mousemove", elementDrag);
|
||||
}
|
||||
|
||||
function elementDrag(e) {
|
||||
e.preventDefault();
|
||||
currentPosX = previousPosX - e.clientX;
|
||||
currentPosY = previousPosY - e.clientY;
|
||||
previousPosX = e.clientX;
|
||||
previousPosY = e.clientY;
|
||||
elmnt.style.top = `${elmnt.offsetTop - currentPosY}px`;
|
||||
elmnt.style.left = `${elmnt.offsetLeft - currentPosX}px`;
|
||||
}
|
||||
|
||||
function closeDragElement() {
|
||||
document.removeEventListener("mouseup", closeDragElement);
|
||||
document.removeEventListener("mousemove", elementDrag);
|
||||
}
|
||||
}
|
||||
|
||||
function makeResizable(elmnt) {
|
||||
var startX = 0, startY = 0, startWidth = 0, startHeight = 0;
|
||||
var doX = false, doY = false;
|
||||
var xDir = true;
|
||||
|
||||
elmnt.addEventListener("mousedown", resizeMouseDown);
|
||||
elmnt.addEventListener("mousemove", resizeMouseMove);
|
||||
|
||||
function resizeMouseMove(e) {
|
||||
if(e.target != elmnt) {
|
||||
elmnt.style.cursor = "default";
|
||||
return;
|
||||
}
|
||||
if(e.layerY < 27) {
|
||||
elmnt.style.cursor = "default";
|
||||
return;
|
||||
}
|
||||
var mx = e.clientX - elmnt.offsetLeft;
|
||||
var my = e.clientY - elmnt.offsetTop;
|
||||
let doX = (my < (elmnt.offsetHeight - 8) || mx > (elmnt.offsetWidth - 8) || mx < 8);
|
||||
let doY = (my >= (elmnt.offsetHeight - 8));
|
||||
let xDir = (mx < (elmnt.offsetWidth - 8));
|
||||
if(xDir && doX && doY) {
|
||||
elmnt.style.cursor = "nesw-resize";
|
||||
} else if(doX && doY) {
|
||||
elmnt.style.cursor = "nwse-resize";
|
||||
} else if(doX) {
|
||||
elmnt.style.cursor = "ew-resize";
|
||||
} else if(doY) {
|
||||
elmnt.style.cursor = "ns-resize";
|
||||
} else {
|
||||
elmnt.style.cursor = "default";
|
||||
}
|
||||
}
|
||||
|
||||
function resizeMouseDown(e) {
|
||||
if(e.button != 0) return;
|
||||
if(e.target != elmnt) return;
|
||||
e.preventDefault();
|
||||
startX = e.clientX;
|
||||
startY = e.clientY;
|
||||
startWidth = elmnt.offsetWidth;
|
||||
startHeight = elmnt.offsetHeight;
|
||||
var mx = e.clientX - elmnt.offsetLeft;
|
||||
var my = e.clientY - elmnt.offsetTop;
|
||||
doX = (my < (elmnt.offsetHeight - 8) || mx > (elmnt.offsetWidth - 8) || mx < 8);
|
||||
doY = (my >= (elmnt.offsetHeight - 8));
|
||||
xDir = (mx < (elmnt.offsetWidth - 8));
|
||||
document.addEventListener("mouseup", closeResizeElement);
|
||||
document.addEventListener("mousemove", elementResize);
|
||||
}
|
||||
|
||||
function elementResize(e) {
|
||||
e.preventDefault();
|
||||
let x = e.clientX - startX;
|
||||
if(doX) elmnt.style.width = (startWidth + (xDir ? -x : x)) + 'px';
|
||||
if(xDir) elmnt.style.left = (e.clientX) + 'px';
|
||||
if(doY) elmnt.style.height = (startHeight + e.clientY - startY) + 'px';
|
||||
}
|
||||
|
||||
function closeResizeElement() {
|
||||
document.removeEventListener("mouseup", closeResizeElement);
|
||||
document.removeEventListener("mousemove", elementResize);
|
||||
}
|
||||
}
|
@ -0,0 +1,5 @@
|
||||
for(let i = 1; i <= 5; i++) {
|
||||
let tmpl = document.createElement("div");
|
||||
tmpl.innerText = "This is window number " + i;
|
||||
createWindow(tmpl, `Window ${i}`, i * 16, i * 16);
|
||||
}
|
File diff suppressed because one or more lines are too long
Loading…
Reference in New Issue