<!DOCTYPE html>
<html>
<head>
<style>
#draggable-element {
width: 100px;
height: 100px;
background-color: red;
position: absolute;
}
</style>
</head>
<body>
<div id="draggable-element"></div>
<script>
var draggableElement = document.getElementById('draggable-element');
var isDragging = false;
draggableElement.addEventListener('mousedown', function(event) {
isDragging = true;
var offsetX = event.clientX - draggableElement.offsetLeft;
var offsetY = event.clientY - draggableElement.offsetTop;
document.addEventListener('mouseup', stopDragging);
function moveElement(event) {
if (isDragging) {
var xPosition = event.clientX - offsetX;
var yPosition = event.clientY - offsetY;
var screenWidth = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth;
var screenHeight= window.innerHeight||document.documentElement.clientHeight||document.body.clientHeight;
if (xPosition < 0) {
xPosition = 0;
} else if (xPosition + draggableElement.offsetWidth > screenWidth) {
xPosition = screenWidth - draggableElement.offsetWidth;
}
if (yPosition < 0) {
yPosition = 0;
} else if (yPosition + draggableElement.offsetHeight > screenHeight) {
yPosition = screenHeight - draggableElement.offsetHeight;
}
draggableElement.style.left = xPosition + 'px';
draggableElement.style.top = yPosition + 'px';
}
}
function stopDragging() {
isDragging = false;
document.removeEventListener('mousemove', moveElement);
document.removeEventListener('mouseup', stopDragging);
}
document.addEventListener('mousemove', moveElement);
});
</script>
</body>
</html>