您好,欢迎访问一九零五行业门户网

JavaScript实现点击鼠标左键进行区域选择的功能实现

本文实例讲述了js拖动鼠标画出方框实现鼠标选区的方法。分享给大家供大家参考。具体如下:
相当实用的一个js技巧,拖动鼠标可画出一个方框,可作为一个选区的功能,可以用来画流程图,设计草图什么的,也可以作为上传头像时裁切选择图片,在头像裁切中使用广泛,鼠标在图片上拖动拉出一个方框,这个方框就代表着选区的功能,目前网页上已流行的一种操作。主要是依赖于javascript代码来实现。
运行效果如下图所示:
具体代码如下:
<!doctype html public "-//w3c//dtd xhtml 1.0 strict//en" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="zh" lang="zh"> <head> <title>鼠标拖动画矩形</title> <meta http-equiv="content-type" content="text/html;charset=utf-8"> <style type="text/css"> body,h1,h2,h3,h4,h5,h6,hr,p,blockquote,dl,dt,dd,ul,ol,li,pre,form,fieldset,legend,button,input,textarea,th,td{margin:0;padding:0} html{color:#000;overflow-y:scoll;overflow:-moz-scrollbars-vertical} .p{position:absolute; border:1px dashed blue; width:0px; height:0px;left:0px; top:0px; overflow:hidden;} .retc{position:absolute; border:1px solid #cccccc; overflow:hidden; background:#efefef} </style> </head> <body> </body> <script language = "javascript"> var wid = "w"; var index = 0; var startx = 0, starty = 0; var flag = false; var retcleft = "0px", retctop = "0px", retcheight = "0px", retcwidth = "0px"; document.onmousedown = function(e){ flag = true; try{ var evt = window.event || e; var scrolltop = document.body.scrolltop || document.documentelement.scrolltop; var scrollleft = document.body.scrollleft || document.documentelement.scrollleft; startx = evt.clientx + scrollleft; starty = evt.clienty + scrolltop; index++; var p = document.createelement("p"); p.id = wid + index; p.classname = "p"; p.style.marginleft = startx + "px"; p.style.margintop = starty + "px"; document.body.appendchild(p); }catch(e){ //alert(e); } } document.onmouseup = function(){ try{ document.body.removechild($(wid + index)); var p = document.createelement("p"); p.classname = "retc"; p.style.marginleft = retcleft; p.style.margintop = retctop; p.style.width = retcwidth; p.style.height = retcheight; document.body.appendchild(p); }catch(e){ //alert(e); } flag = false; } document.onmousemove = function(e){ if(flag){ try{ var evt = window.event || e; var scrolltop = document.body.scrolltop || document.documentelement.scrolltop; var scrollleft = document.body.scrollleft || document.documentelement.scrollleft; retcleft = (startx - evt.clientx - scrollleft > 0 ? evt.clientx + scrollleft : startx) + "px"; retctop = (starty - evt.clienty - scrolltop > 0 ? evt.clienty + scrolltop : starty) + "px"; retcheight = math.abs(starty - evt.clienty - scrolltop) + "px"; retcwidth = math.abs(startx - evt.clientx - scrollleft) + "px"; $(wid + index).style.marginleft = retcleft; $(wid + index).style.margintop = retctop; $(wid + index).style.width = retcwidth; $(wid + index).style.height = retcheight; }catch(e){ //alert(e); } } } var $ = function(id){ return document.getelementbyid(id); } </script> </html>
以上就是javascript实现点击鼠标左键进行区域选择的功能实现的详细内容。
其它类似信息

推荐信息