1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > js如何实现利用键盘控制div移动

js如何实现利用键盘控制div移动

时间:2022-04-20 22:41:47

相关推荐

js如何实现利用键盘控制div移动

web前端|js教程

js,div,键盘

web前端-js教程

旅游预订网站源码,vscode 补充代码插件,ubuntu壁纸大赛,tomcat 卸载不了,sqlite手机版最新版,网络爬虫如何查询手机网络足迹,php客户端开发,广西seo优化方面公司,小说网站 静态模板,php带数据库的网站模板lzw

描述:

rsa算法源码,vscode全文搜索快捷键,ubuntu svn指令,tomcat目录访问权限,爬虫会员账号,php组合数组,壹起航如何优化seo,asp网站水印支除lzw

div通过键盘事件上下左右实现div块的移动

远程教育网站源码免费下载,ubuntu如何分区详解,k8s部署多个tomcat,新派爬虫缸尺寸,php配置显示错误信息,seo分析价格lzw

效果:

(视频教学推荐:js视频教学)

js代码:

var Method=(function () { return { EVENT_ID:"event_id", loadImage:function (arr) {var img=new Image();img.arr=arr;img.list=[];img.num=0;//如果DOM对象下的事件侦听没有被删除掉,将会常驻堆中//一旦触发了这个事件需要的条件,就会继续执行事件函数img.addEventListener("load",this.loadHandler);img.self=this;img.src=arr[img.num]; }, loadHandler:function (e) {this.list.push(this.cloneNode(false));this.num++;if(this.num>this.arr.length-1){ this.removeEventListener("load",this.self.loadHandler); var evt=new Event(Method.EVENT_ID); evt.list=this.list; document.dispatchEvent(evt); return;}this.src=this.arr[this.num]; }, $c:function (type,parent,style) {var elem=document.createElement(type);if(parent) parent.appendChild(elem);for(var key in style){ elem.style[key]=style[key];}return elem; }, divColor: function () {var col="#";//这个字符串第一位为# 颜色的格式for(var i=0;i<6;i++){ col+=parseInt(Math.random()*16).toString(16);//rondom*16后的随机值即为0-1*16==0-16; toString(16)为转化为16进制}return col;//最后返回一个七位的值 格式即为#nnnnnn 颜色的格式 }, random:function (min,max) {max=Math.max(min,max);min=Math.min(min,max);return Math.floor(Math.random()*(max-min)+min); }, dragElem:function (elem) {elem.addEventListener("mousedown",this.mouseDragHandler);elem.self=this; }, removeDrag:function (elem) {elem.removeEventListener("mousedown",this.mouseDragHandler); }, mouseDragHandler:function (e) {if(e.type==="mousedown"){ e.stopPropagation(); e.preventDefault(); document.point={x:e.offsetX,y:e.offsetY}; document.elem=this; this.addEventListener("mouseup",this.self.mouseDragHandler); document.addEventListener("mousemove",this.self.mouseDragHandler);}else if(e.type==="mousemove"){ this.elem.style.left=e.x-this.point.x+"px"; this.elem.style.top=e.y-this.point.y+"px";}else if(e.type==="mouseup"){ this.removeEventListener("mouseup",this.self.mouseDragHandler); document.removeEventListener("mousemove",this.self.mouseDragHandler);} } }})();

html代码:

Titlevar div; var code=[]; var speed=2; var bool=false; init(); function init() { div=Method.$c("div",document.body,{width:"50px",height:"50px",backgroundColor:"red",position:"absolute",left:0,top:0 }); window.addEventListener("keydown",keyHandler); window.addEventListener("keyup",keyHandler); setInterval(animation,16); } function keyHandler(e) { if(e.type==="keydown" && (!bool || code.indexOf(e.keyCode)===-1)){bool=true;code.push(e.keyCode); }else if(e.type==="keyup"){bool=false;code.length=0; } } function animation() { if(!bool)return; for(var i=0;i<code.length;i++){switch (code[i]){ case 37:div.style.left=div.offsetLeft-speed+"px";break; case 38:div.style.top=div.offsetTop-speed+"px";break; case 39:div.style.left=div.offsetLeft+speed+"px";break; case 40:div.style.top=div.offsetTop+speed+"px";break;} } }

推荐教学:js入门教学

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