100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > javascript 绘制矩形框【javascript】

javascript 绘制矩形框【javascript】

时间:2019-06-03 12:35:43

相关推荐

javascript 绘制矩形框【javascript】

web前端|js教程

js,绘制,矩形

web前端-js教程

如果不考虑把整个代码封装起来, 大约5分钟里也可以写出类似的效果,为了把整个代码封装成一个对象,稍微借鉴了Pro Javascript Techniques书中的代例子的风格。

Pro Javascript Techniques书中推荐的drag and drop 例子:/2001/domdrag

手机鲜花礼品商城整站源码,ubuntu装以太坊,tomcat干什么的,445爬虫攻击,php什么水平好找工作,战术seo排名lzw

Rect

mysql 5.6源码下载,vscode支持函数调用链,ubuntu设置超频,tomcat没找到jre,简单爬虫案例,php 首字符大写,仓山区提供seo技术,免费的网站建站系统源码,zblog模板主题下载lzw

var Rect = { //当前正在画的矩形对象 obj: null, //画布 container: null, //初始化函数 init: function(containerId){ Rect.container = document.getElementById(containerId); if(Rect.container){ //鼠标按下时开始画 Rect.container.onmousedown = Rect.start; } else{ alert(‘You should specify a valid container!’); } }, start: function(e){ var o = Rect.obj = document.createElement(‘div’); o.style.position = “absolute”; // mouseBeginX,mouseBeginY是辅助变量,记录下鼠标按下时的位置

怎么下载php源码,vscode代码补全6,ubuntu执行.bin,表示tomcat脚本,sqlite如果存在则更新,四级爬虫脚本怎么运行,php 反引号,余姚网站seo运营,中文个人网站模板,微擎网页电脑上打开速度很慢,网站模板目录lzw

o.style.left = o.mouseBeginX = Rect.getEvent(e).x; o.style.top = o.mouseBeginY = Rect.getEvent(e).y; o.style.height = 0; o.style.width = 0; o.style.border = “dotted black 1px”; //向o添加一个叉叉,点击叉叉可以删除这个矩形 var deleteLink = document.createElement(‘a’); deleteLink.href=”#”; deleteLink.onclick = function(){ Rect.container.removeChild(this.parentNode); //this.parentNode.style.display = “none”; //alert(this.tagName); } deleteLink.innerText = “x”;

o.appendChild(deleteLink); //把当前画出的对象加入到画布中 Rect.container.appendChild(o); //处理onmousemove事件 Rect.container.onmousemove = Rect.move; //处理onmouseup事件 Rect.container.onmouseup = Rect.end; }, move: function(e){ var o = Rect.obj; //dx,dy是鼠标移动的距离 var dx = Rect.getEvent(e).x – o.mouseBeginX; var dy = Rect.getEvent(e).y – o.mouseBeginY; //如果dx,dy <0,说明鼠标朝左上角移动,需要做特别的处理 if(dx<0){ o.style.left = Rect.getEvent(e).x; } if(dy<0){ o.style.top = Rect.getEvent(e).y; } o.style.height = Math.abs(dy); o.style.width = Math.abs(dx); }, end: function(e){ //onmouseup时释放onmousemove,onmouseup事件句柄 Rect.container.onmousemove = null; Rect.container.onmouseup = null; Rect.obj = null; }, //辅助方法,处理IE和FF不同的事件模型 getEvent: function(e){ if (typeof e == undefined){ e = window.event; } //alert(e.x?e.x : e.layerX); if(typeof e.x == undefined){ e.x = e.layerX; } if(typeof e.y == undefined){ e.y = e.layerY; } return e; } };

增加一个按钮,可以关闭绘画效果,用来配合测试删除功能

//测试代码开始 //初始化 Rect.init(“main”);

document.getElementById(‘t’).onclick = function(){ Rect.container.onmousedown = null; };

[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。