0
点赞
收藏
分享

微信扫一扫

原生JS实现拖拽位置预览


给大家分享一个拖拽元素时添加预览的小Demo,效果如下:

原生JS实现拖拽位置预览_JavaScript

 以下是代码实现,欢迎大家复制粘贴及吐槽。

<!DOCTYPE html>
<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>原生JS实现拖拽位置预览</title>
<style>
.box {
position: absolute;
border: 1px dashed black;
}
#box {
width: 100px;
height: 100px;
background: yellow;
position: absolute;
}
</style>
</head>

<body>
<div id="box"></div>

<script>
window.onload = function () {
var box = document.getElementById('box');
box.onmousedown = function (ev) {
var myEvent = ev || event;
var disX = myEvent.clientX - box.offsetLeft;
var disY = myEvent.clientY - box.offsetTop;


var div = document.createElement('div');

div.className = 'box';
div.style.width = box.offsetWidth - 2 + 'px';
div.style.height = box.offsetHeight - 2 + 'px';
div.style.left = box.offsetLeft + 'px';
div.style.top = box.offsetTop + 'px';

document.body.appendChild(div);

document.onmousemove = function (ev) {
var myEvent = ev || event;
div.style.left = myEvent.clientX - disX + 'px';
div.style.top = myEvent.clientY - disY + 'px';
};

document.onmouseup = function () {
document.onmousemove = null;
document.onmouseup = null;
box.style.left = div.style.left;
box.style.top = div.style.top;
document.body.removeChild(div);
};
};
};
</script>
</body>

</html>

举报

相关推荐

0 条评论