<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>根据键盘去控制div的移动</title>
<style>
*{
margin: 0;
padding: 0;
}
div{
width: 100px;
height: 100px;
background-color: hotpink;
position: absolute;
}
</style>
</head>
<body>
<div></div>
</body>
<script>
var d=document.querySelector('div')
// 状态加计时器
var timer=null;
var isLeft=false;
var isRight=false;
var isTop=false;
var isBottom=false;
window.onkeydown=function(e){
if(e.keyCode===37){
isLeft=true;
// d.style.left=d.offsetLeft-5+'px';
}else if(e.keyCode===39){
// d.style.left=d.offsetLeft+5+'px';
isRight=true;
}else if(e.keyCode===38){
// d.style.top=d.offsetTop-5+'px';
isTop=true;
}else if(e.keyCode===40){
// d.style.top=d.offsetTop+5+'px';
isBottom=true;
}
}
window.onkeyup=function(e){
if(e.keyCode===37){
isLeft=false;
// d.style.left=d.offsetLeft-5+'px';
}else if(e.keyCode===39){
// d.style.left=d.offsetLeft+5+'px';
isRight=false;
}else if(e.keyCode===38){
// d.style.top=d.offsetTop-5+'px';
isTop=false;
}else if(e.keyCode===40){
// d.style.top=d.offsetTop+5+'px';
isBottom=false;
}
}
timer=setInterval(function(){
var l=d.offsetLeft;
var t=d.offsetTop;
if(isLeft){l-=7;}
if(isRight){l+=7;}
if(isTop){t-=7;}
if(isBottom){t+=7;}
d.style.left=l+'px';
d.style.top=t+'px';
},30)
</script>
</html>