1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > javascript实现鼠标选取拖动或Ctrl选取拖动【javascript】

javascript实现鼠标选取拖动或Ctrl选取拖动【javascript】

时间:2021-02-07 14:12:43

相关推荐

javascript实现鼠标选取拖动或Ctrl选取拖动【javascript】

web前端|js教程

javascript实现鼠标选取拖动或Ctrl选取拖动

web前端-js教程

ssc程序源码,vscode突然不自动不全,ubuntu安装pg,tomcat配置系统变量,android模拟爬虫,php 遍历关联数组,泰州新站怎么做seo,网站单页源码,login登录页面模板lzw

新鑫众源码程序,vscode 交叉编译环境,ubuntu打开bmp,tomcat重启方式,sqlite+db加密访问,爬虫可以提升自己的能力吗,php api源码,佛山商品seo优化公司,大连企业网站模板,响应式html网页模板,dede游戏门户模板下载lzw

*{position:absolute;} #panel *{border:1px solid gray}

/**********判断浏览器**********/ var isIE = false; if(document.all) isIE = true; /*******HashArray*******/function HashArray(){this.keyList = new Array();this.put = function(key, value){ this[key] = value; if(!this.containsKey(key)){this.keyList.push(key); }}

闲来房卡源码,如何禁用vscode翻译,虚拟机安装的ubuntu,web部署到tomcat,c语言操作sqlite,网页设计的尺寸要求,mysql数据库从excel表格数据,万网 dns服务器,wordpress 正在建设插件,前端所有标签框架图,爬虫工程师前景,php题目,网站seo的方法,springboot医疗,dede h1标签,个人网站免费下载,网页特殊代码,大气idc模板,简单的后台模板,html页面生成缩略图,wss项目管理系统文件上传漏洞,现成的快3源码程序lzw

this.size = function(){ return this.keyList.length;}

this.containsKey = function(key){ if(this.keyList.length == 0) return false;

var keyStr = this.keyList.join(“,”) + “,”;

if(keyStr.indexOf(key + “,”) == -1){return false; }else{return true; }}

this.get = function(key){ return this[key];}

this.keySet = function(){ return this.keyList;}

this.isEmpty = function(){ return this.keyList.length==0;}

this.remove = function(key){ if(this.containsKey(key)){delete this[key];this.keyList.splice(this.getIndex(key), 1); }}

this.removeAll = function(key){ for(var i=0;i<this.keyList.length;i++){delete this[this.keyList[i]]; } this.keyList.length = 0;} this.getIndex = function(key){ for(var i=0;i<this.keyList.length;i++){if(this.keyList[i] == key) return i; }}this.toString = function(){ var str = ""; for(var i=0;i<this.keyList.length;i++){str+= this.keyList[i] + ":" + this[this.keyList[i]].toString() + ","; } return str;} } var dragArray = new HashArray(); /*********选中边框变色********/ function selecting(obj){ if(obj.selected) obj.style.borderColor = "lime"; else obj.style.borderColor = "gray"; } /*******拖动封装类********/ function DragObject(obj){ this.oldX = 0; this.oldY = 0; this.isDraging = false; this.dragObj = obj; this.dragObj.style.position="absolute"; if(!this.dragObj.style.left) this.dragObj.style.left = 0; if(!this.dragObj.style.top) this.dragObj.style.top = 0; var theObj = this; this.zIndex = 2; obj.onmousedown = function(){ theObj.startDrag(); } obj.onmousemove = function(){ theObj.drag(); } obj.onmouseup = function(){ theObj.endDrag(); } this.startDrag = function(){//alert(3)DragObject.curObj = this; //当前被拖动对象this.isDrag = true;this.oldX = event.x;this.oldY = event.y;this.dragObj.style.zIndex = this.zIndex++; } this.endDrag = function(){this.isDrag = false; } this.drag = function(){if(this.isDrag){ var x = window.event.x; var y = window.event.y;if(dragArray.containsKey(this.dragObj.id)){for(var i=0;i originX){ divMove.style.left = originX+ “px”;}else divMove.style.left = (x-2)+ “px”;

if(y > originY){ divMove.style.top = originY+ “px”;}else divMove.style.top = (y-2)+ “px”;}

}

/**********处理mousedown事件********/ function mousedown(e){ if(isIE){if(event.srcElement.id == “panel”){ originX=event.x; originY=event.y; isMouseDown=true;}else{ isDrag = true;} }else{if(e.target.id == “panel”){ originX=e.pageX; originY=e.pageY; isMouseDown=true;}else{ isDrag = true;} } }

/**********处理mouseup事件********/ function mouseup(e){ if(isIE){if(event.srcElement.id == “divMove” || event.srcElement.id == “panel”){ selectObjects(); isMouseDown=false; divMove.style.display=’none’;}else{ if(DragObject.curObj) DragObject.curObj.endDrag(); isDrag = false;} }else{if(e.target.id == “divMove” || e.target.id == “panel”){ selectObjects(); isMouseDown=false; divMove.style.display=’none’;}else{ if(DragObject.curObj) DragObject.curObj.endDrag(); isDrag = false;} } }

/*********选中对象********/ function selectObjects(){ for(var i=0;i divMove.offsetLeft && objX divMove.offsetTop && objY < divMove.offsetTop + parseInt(divMove.style.width)){ elems[i].selected = true; dragArray.put(elems[i].id, elems[i]); selecting(elems[i]);} } } /**********ID取对象********/ function $(){ if(document.getElementById){return document.getElementById(arguments[0]); }else{return eval(arguments[0]); } }

中国是一个发展中国家

var divMove = $(“divMove”); var elems = $(“panel”).children; document.onmousemove=moveDiv; document.onmousedown=mousedown; document.onmouseup=mouseup;

for(var i=0;i<elems.length;i++){ with(elems[i]){elems[i].dragObj = new DragObject(elems[i]);elems[i].selected = false;elems[i].isOnDrag = false;onclick = function(){ if(this.selected){if(!this.isOnDrag){ this.selected = !selected; dragArray.remove(this.id);}else{ this.isOnDrag = false;}}else if(dragArray.isEmpty() || event.ctrlKey){this.selected = !selected;dragArray.put(this.id, this); } selecting(this);} } }

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

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