知识点:
可以通过keyCode获取案件的编码,可以判断那个按键被按下
altKey、ctrlKey、shiftKey判断alt ctrl shift是否被按下
使div可以根据不同的方向移动
按左键,div向左移
按右键,div右移
按下键,div下移
按上键,div上移
详细代码:
<!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>Document</title>
<style>
#box1 {
width: 100px;
height: 100px;
background-color: red;
position: absolute;
}
</style>
<script>
/*
使div可以根据不同的方向移动
按左键,div向左移
按右键,div右移
...
*/
window.onload = function () {
//为document绑定一个按键按下事件
document.onkeydown = function (event) {
event = event || window.event;
console.log(event.keyCode);
//定义一个变量speed
var speed = 10;
//如果按了ctrl以后,速度加快
if (event.ctrlKey) {
speed = 50;
}
/*
37是左
38上
39右
40下
*/
switch (event.keyCode) {
case 37:
box1.style.left = box1.offsetLeft - speed + "px";
break;
case 39:
box1.style.left = box1.offsetLeft + speed + "px";
break;
case 38:
box1.style.top = box1.offsetTop - speed + "px";
break;
case 40:
box1.style.top = box1.offsetTop + speed + "px";
break;
}
};
};
</script>
</head>
<body>
<div id="box1"></div>
</body>
</html>
测试结果:
按左键,向左移动
按下键,向下移动