js 模拟鼠标绘制方块
<!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"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>无标题文档</title> <style> *{margin:0;padding:0;} #box1{width:500px;height:500px;border:1px solid #000;position:absolute;left:400px;} .cBox{border:1px solid #0C6; width:30px;position:absolute;} </style> <script> window.onload = function(){ var oDiv = document.getElementById('box1'); oDiv.onmousedown = function(ev){ var ev = ev || event; var initX = ev.clientX; var initY = ev.clientY; var cDiv = document.createElement('div'); cDiv.className = 'cBox'; cDiv.style.left = (initX-oDiv.offsetLeft)+'px'; cDiv.style.top = (initY)+'px'; oDiv.appendChild(cDiv); document.onmousemove = function(ev){ var ev = ev || event; var disX = 0; if(ev.clientX >(oDiv.offsetLeft + oDiv.offsetWidth)){ disX = oDiv.offsetLeft + oDiv.offsetWidth; }else{ disX = ev.clientX; } var disY = 0; if(ev.clientY >(oDiv.offsetTop + oDiv.offsetHeight)){ disY = oDiv.offsetTop + oDiv.offsetHeight; }else{ disY = ev.clientY; } var cBoxWidth = disX - initX-2; /*需要减去cDiv的两个边框*/ var cBoxHeight = disY - initY-2; cDiv.style.width = cBoxWidth+'px'; cDiv.style.height = cBoxHeight+'px'; }; document.onmouseup = function(){ document.onmousemove = document.onmouseup = null; }; return false; }; }; </script> </head> <body style="2000px;"> <div id='box1'> </div> </body> </html>
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)