当前位置: 首页 > Web前端 > HTML

使用键盘事件移动小方块小demo

时间:2023-04-02 18:30:38 HTML

思路:根据键盘的unicode值,判断键盘上是哪个键。使用键盘事件修改框的top和left值。通过启动定时器,消除第一次长按键盘卡住的情况。html

cssdiv{宽度:100px;高度:100px;位置:绝对;背景:红色;}js代码window.onload=function(){vardiv=document.querySelector('div');vartoLeft=toRight=toTop=toBottom=false;//设置方向变量,后面需要用到判断varstep=5;//设置移动的步数//启动一个定时器vartimer=setInterval(function(){//根据方向变量判断if(toLeft){div.style.left=div.offsetLeft-step+'px';}if(toRight){div.style.left=div.offsetLeft+step+'px';}if(toTop){div.style.top=div.offsetTop-step+'px';}if(toBottom){div.style.top=div.offsetTop+step+'px';}},30);//当方向键按下时document.onkeydown=function(ev){console.log(ev.keyCode);//查看方向的unicode//Left:37Up:38Right:39Down:40//使用switch语句判断哪个方向键被按下switch(ev.keyCode){case37:toLeft=true;break;案例38:toTop=true;中断;案例39:toRight=true;break;案例40:toBottom=true;中断;}}//当按钮被释放时document.onkeyup=function(ev){//恢复对应释放值switch(ev.keyCode){case37:toLeft=false;break;案例38:toTop=false;中断;案例39:toRight=false;break;案例40:toBottom=false;中断;}}}