飞比寻常 (JOE) 生,简单,活,简单,生活,不简单!
JOE个人网站
JOE个人网站,不仅仅是一个网站,更像是一个展现自我的平台,致力于让朋友们都可以
有所感触,有所收获。
1、键盘事件
onkeypress 的ASCII码是小写值
onkeydown 的ASCII码是大写值
-----------------实现div按wasd上左下右的移到--------------------
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<title>Demo</title>
<script>
window.onload=function() {
//获取div对象,设置为全局对象
odiv=document.getElementById('box');
//获取初始的top
itop=parseInt(odiv.style.top);
//获取初始的left
ileft=parseInt(odiv.style.left);
}
//div移动函数
function move(event) {
//获取键盘事件的ASICII码
var c=event.charCode || event.keyCode;
//判断ASIC码,更改div的定位坐标,实现移动效果 上w 119 下s 115 左a 97 右d 100
switch(c) {
//上
case 119:
itop-=10;
odiv.style.top=itop+'px';
break;
//下
case 115:
itop+=10;
odiv.style.top=itop+'px';
break;
//左
case 97:
ileft-=10;
odiv.style.left=ileft+'px';
break;
//右
case 100:
ileft+=10;
odiv.style.left=ileft+'px';
break;
}
}
</script>
</head>
<!-- 键盘事件可以写在body中 -->
<body onkeypress='move(event)'>
<div id="box" style="width:50px;height:50px;border:1px solid black;position:absolute;top:0;left:0"></div>
</body>
</html>
-----------JS不写在body里的方法----------------
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<title>Demo</title>
<script>
window.onload=function() {
//获取div对象,设置为全局对象
odiv=document.getElementById('box');
//获取初始的top
itop=parseInt(odiv.style.top);
//获取初始的left
ileft=parseInt(odiv.style.left);
//获取body对象
document.body.onkeypress=function(event) {
//获取键盘事件的ASICII码
var c=event.charCode || event.keyCode;
//alert(c);
//判断ASIC码,更改div的定位坐标,实现移动效果 上w 119 下s 115 左a 97 右d 100
switch(c) {
//上
case 119:
itop-=10;
odiv.style.top=itop+'px';
break;
//下
case 115:
itop+=10;
odiv.style.top=itop+'px';
break;
//左
case 97:
ileft-=10;
odiv.style.left=ileft+'px';
break;
//右
case 100:
ileft+=10;
odiv.style.left=ileft+'px';
break;
}
}
}
</script>
</head>
<!-- 键盘事件可以写在body中 -->
<body>
<div id="box" style="width:50px;height:50px;border:1px solid black;position:absolute;top:0;left:0"></div>
</body>
</html>