var drag = document.getElementById("drag");
var toggle = false;
var lastX;
var lastY;
drag.onmousedown = function (e) {
var e = e || window.event;
lastX = e.clientX;
lastY = e.clientY;
toggle = true;
};
document.onmousemove = function (e) {
if (toggle === true) {
var diffX = e.clientX - lastX;
var diffY = e.clientY - lastY;
var left = parseInt(drag.style.left) || 0;
var top = parseInt(drag.style.top) || 0;
var resultX = diffX + left;
var resultY = diffY + top;
if (resultX < 0) {
resultX = 0;
} else if (resultX > window.innerWidth - drag.offsetWidth) {
resultX = window.innerWidth - drag.offsetWidth;
}
if (resultY < 0) {
resultY = 0;
} else if (resultY > window.innerHeight - drag.offsetHeight) {
resultY = window.innerHeight - drag.offsetHeight;
}
drag.style.left = resultX + "px";
drag.style.top = resultY + "px";
lastX = e.clientX;
lastY = e.clientY;
}
};
document.onmouseup = function () {
toggle = false;
};