You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

48 lines
1.2 KiB
HTML

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Draggable</title>
<style>
#draggable {
width: 100px;
height: 100px;
text-align: center;
line-height: 100px;
color: white;
background: red;
}
</style>
</head>
<body>
<h1>Draggable</h1>
<div id="draggable" draggable="true">Drag Me!</div>
<script>
var draggable = document.getElementById('draggable');
var offsetX, offsetY;
draggable.ondragstart = function(e) {
e.dataTransfer.effectAllowed = 'move';
e.dataTransfer.setData('text/plain', 'whatever');
offsetX = e.pageX - e.target.offsetLeft;
offsetY = e.pageY - e.target.offsetTop;
}
window.ondragover = function(e) {
e.preventDefault();
return false;
};
window.ondrop = function(e) {
draggable.style.position = 'absolute';
draggable.style.left = (e.pageX - offsetX) + 'px';
draggable.style.top = (e.pageY - offsetY) + 'px';
console.log(e);
e.preventDefault();
return false;
};
</script>
</body>
</html>