温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

JS怎么实现基于拖拽改变物体大小的方法

发布时间:2021-04-20 13:15:01 来源:亿速云 阅读:426 作者:小新 栏目:web开发

小编给大家分享一下JS怎么实现基于拖拽改变物体大小的方法,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!

JS是什么

JS是JavaScript的简称,它是一种直译式的脚本语言,其解释器被称为JavaScript引擎,是浏览器的一部分,主要用于web的开发,可以给网站添加各种各样的动态效果,让网页更加美观。

具体如下:

拖拽改变物体大小功能:拖拽黄色小div来改变绿色大div的宽和高

JS怎么实现基于拖拽改变物体大小的方法

主要实现由三大步:

1. 通过id获取到大小两个div
2. 给小div添加onmousedown事件
3. 在onmousedown事件给document添加onmousemove和onmouseup事件

JS怎么实现基于拖拽改变物体大小的方法

由分析图可知,我们只需要在拖拽的时候,获取到物体不断增加的宽度值,问题就解决了

<div id="panel">   <div id="dragIcon"></div> </div>

加些样式

<style>     #panel{       position: absolute;       width: 200px;height: 200px;       background: green;     }     #dragIcon{       position: absolute;bottom: 0;right: 0;       width: 20px;height: 20px;       background: yellow;     } </style>

js实现代码:

<script>   window.onload = function () {     // 1. 获取两个大小div     var oPanel = document.getElementById('panel');     var oDragIcon = document.getElementById('dragIcon');     // 定义4个变量     var disX = 0;//鼠标按下时光标的X值     var disY = 0;//鼠标按下时光标的Y值     var disW = 0; //拖拽前div的宽     var disH = 0; // 拖拽前div的高     //3. 给小div加点击事件     oDragIcon.onmousedown = function (ev) {       var ev = ev || window.event;       disX = ev.clientX; // 获取鼠标按下时光标x的值       disY = ev.clientY; // 获取鼠标按下时光标Y的值       disW = oPanel.offsetWidth; // 获取拖拽前div的宽       disH = oPanel.offsetHeight; // 获取拖拽前div的高       document.onmousemove = function (ev) {         var ev = ev || window.event;         //拖拽时为了对宽和高 限制一下范围,定义两个变量         var W = ev.clientX - disX + disW;         var H = ev.clientY - disY + disH;         if(W<100){           W = 100;         }         if(W>800){           W =800;         }         if(H<100){           H = 100;         }         if(H>500){           H = 500;         }         oPanel.style.width =W +'px';// 拖拽后物体的宽         oPanel.style.height = H +'px';// 拖拽后物体的高       }       document.onmouseup = function () {         document.onmousemove = null;         document.onmouseup = null;       }     }   } </script>

效果图:

JS怎么实现基于拖拽改变物体大小的方法

看完了这篇文章,相信你对“JS怎么实现基于拖拽改变物体大小的方法”有了一定的了解,如果想了解更多相关知识,欢迎关注亿速云行业资讯频道,感谢各位的阅读!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

js
AI