12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394 |
- <!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向右移
- * 按上键,div向上移
- * 按下键,div向下移
- */
- window.onload = function () {
- //定义一个移动速度的变量
- var speed = 10;
- //创建一个变量表示方向
- //通过修改dir来影响移动的方向
- var dir = 0;
- //开启一个定时器,来控制div移动
- setInterval(function () {
- /**
- * 左:37
- * 上:38
- * 右:39
- * 下:40
- */
- switch (dir) {
- case 37:
- // alert('向左');//left值减小
- box1.style.left = box1.offsetLeft - speed + 'px';
- break;
- case 38:
- // alert('向上');//top值减小
- box1.style.top = box1.offsetTop - speed + 'px';
- break;
- case 39:
- // alert('向右');//left值增加
- box1.style.left = box1.offsetLeft + speed + 'px';
- break;
- case 40:
- // alert('向下');//top值增加
- box1.style.top = box1.offsetTop + speed + 'px';
- break;
- };
- }, 30)
- //为document绑定一个按键按下的事件
- document.onkeydown = function (event) {
- event = event || window.event;
-
- //当用户按了Ctrl以后,速度加快
- if (event.ctrlKey) {
- speed = 50;
- }else{
- speed = 10;
- };
-
- //使dir等于按键的值
- dir = event.keyCode;
- };
- //当按键松开时,div不再移动
- document.onkeyup = function(){
- //设置方向为0
- dir = 0;
- };
- };
- </script>
- </head>
- <body>
- <div id="box1"></div>
- </body>
- </html>
|