用原生JS怎么实现可拖拽并添加预览的效果
Admin 2022-06-24 群英技术资讯 487 次浏览
本文给大家分享一个拖拽元素时添加预览的小Demo,效果如下:
以下是代码实现,欢迎大家复制粘贴及吐槽。
<!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; } #div1 { width: 100px; height: 100px; background: yellow; position: absolute; } </style> <script> window.onload = function () { var oDiv = document.getElementById('div1'); oDiv.onmousedown = function (ev) { var oEvent = ev || event; var disX = oEvent.clientX - oDiv.offsetLeft; var disY = oEvent.clientY - oDiv.offsetTop; //创建一个虚线框的div var oNewDiv = document.createElement('div'); oNewDiv.className = 'box'; //减去边框的大小与原div大小重合 oNewDiv.style.width = oDiv.offsetWidth - 2 + 'px'; oNewDiv.style.height = oDiv.offsetHeight - 2 + 'px'; oNewDiv.style.left = oDiv.offsetLeft + 'px'; oNewDiv.style.top = oDiv.offsetTop + 'px'; document.body.appendChild(oNewDiv); document.onmousemove = function (ev) { var oEvent = ev || event; oNewDiv.style.left = oEvent.clientX - disX + 'px'; oNewDiv.style.top = oEvent.clientY - disY + 'px'; }; document.onmouseup = function () { document.onmousemove = null; document.onmouseup = null; oDiv.style.left = oNewDiv.style.left; oDiv.style.top = oNewDiv.style.top; //移除虚线框 document.body.removeChild(oNewDiv); }; }; }; </script> </head> <body> <div id="div1"></div> </body> </html>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
微信小程序实现tab页面切换效果 本文实例为大家分享了微信小程序实现tab页面切换的具体代码,供大家参考,具体内容如下
方法:1、使用“for (var i=1;i<=n;i++){}”语句控制循环遍历范围为“1~n”;2、循环体中,使用“sum=sum+i;”语句将1到n的数相加,和值赋值给变量sum;3、循环结束后,变量sum的值就1到n的和,输出即可。
这篇文章主要介绍了Vue 页面如何监听用户预览时间,首先需要借助vue页面的生命周期函数mounted和destroyed,分别加入开始计时和清除计时的逻辑,通过相关操作实现此功能,需要的朋友可以参考下
vue项目iview树形控件怎么样使用?在vue项目中, iview的树形控件的使用还是比较多的,因此这篇文章就给大家分享一下 iview的树形控件的用法,感兴趣的朋友就继续往下看吧。
这篇文章主要介绍了js属性对象的hasOwnProperty方法的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008