JS拖拽元素 兼容IE详解编程语言
2023-06-13 09:20:25 时间
!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" head meta http-equiv="Content-Type" content="text/html;charset=UTF-8" title Document /title style margin: 0px; padding:0px; #div1{ width: 500px; height: 500px; position: relative; border:1px solid #ff00ff; top:100px; left: 300px; #div2{ position: absolute; width: 150px; height: 150px; top:0px; left:0px; background: #ff00ff; .boxs{ border:1px dashed #000000; position: absolute; /style script function getpos(ev){ var scrolltop=document.documentElement.scrollTop||document.body.scrollTop; var scrollleft=document.documentElement.scrollLeft||document.body.scrollLeft; return {x:ev.clientX+scrollleft,y:ev.clientY+scrolltop} function addEvent(obj,even,fn){ /*事件绑定*/ return obj.addEventListener?obj.addEventListener(even,fn,false):obj.attachEvent("on"+even,fn); function unEvent(obj,even,fn){ return obj.removeEventListener?obj.removeEventListener(even,fn,false):obj.detachEvent("on"+even,fn); window.onload=function(){ var odiv1=document.getElementById("div1"); odiv2=document.getElementById("div2"); disX=0; disY=0; addEvent(odiv2,"mousedown",function(ev){ var eventr=ev||event; pos=getpos(eventr); disX=pos.x-this.offsetLeft; disY=pos.y-this.offsetTop; creatElement=document.createElement("div"); creatElement.className="boxs"; creatElement.style.width=odiv2.offsetWidth-2+"px"; creatElement.style.height=odiv2.offsetHeight-2+"px"; creatElement.style.top=odiv2.offsetTop+"px"; creatElement.style.left=odiv2.offsetLeft+"px"; div1.appendChild(creatElement); document.onmousemove=function(ev){ var eventr=ev||event; pos=getpos(eventr); creatElement.style.left=pos.x-disX+"px"; creatElement.style.top=pos.y-disY+"px"; if(creatElement.offsetTop 0){ creatElement.style.top=0+"px"; if(creatElement.offsetLeft 0){ creatElement.style.left=0+"px"; if(creatElement.offsetTop odiv1.offsetHeight-odiv2.offsetHeight){ creatElement.style.top=odiv1.offsetHeight-odiv2.offsetHeight+"px"; if(creatElement.offsetLeft odiv1.offsetWidth-odiv2.offsetWidth){ creatElement.style.left=odiv1.offsetWidth-odiv2.offsetWidth+"px"; document.onmouseup=function(){ odiv2.style.left=creatElement.offsetLeft+"px"; odiv2.style.top=creatElement.offsetTop+"px"; div1.removeChild(creatElement); unEvent(odiv2,"mousedown"); document.onmousemove=null; return false; /script /head body div id="div1" div id="div2" /div /div /body /html
原创文章,作者:Maggie-Hunter,如若转载,请注明出处:https://blog.ytso.com/8712.html
cjavaxml相关文章
- js 数组去除重复数据-5 个提升你 JS 编码水平的实例
- js判断是否输入的是年份详解编程语言
- js防刷新的倒计时代码详解编程语言
- 最全面的JS表单验证详解编程语言
- JS禁用浏览器退格键详解编程语言
- js检测浏览器版本方法详解编程语言
- js获取当前时间详解编程语言
- js 正则表达式 验证手机号码详解编程语言
- JS获取图片实际宽高详解编程语言
- js实现图片等比缩放详解编程语言
- 使用js加载器动态加载外部Javascript文件详解编程语言
- JS 每次进入自动加载JS详解编程语言
- JS的object类型怎么用详解编程语言
- JS作用域详解编程语言
- js记录详解编程语言
- web前端js的MV*框架最值得关注的七个亮点框架详解编程语言
- JS正则表达式使用详解编程语言
- 自写脚本实现上线前本地批量压缩混淆 js , css 代码。详解编程语言
- Python3.x:Selenium+PhantomJS爬取带Ajax、Js的网页详解编程语言
- thymeleaf 传参到js的onclick事件中详解编程语言
- JS 随机数详解编程语言
- js base64转file文件详解编程语言
- javascript JSMpeg.js 播放视频解决不用全屏也能播放(也支持自动播放哦)详解编程语言
- PHP md5和js md5保持一致的方法详解编程语言