方向控制方块运动

效果:上下左右控制其方向运动

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        *{
            margin: 0;
            padding: 0;
        }
        div{
            width: 50px;
            height: 50px;
            background: #00A7F6;
            position: absolute;
        }
    </style>
</head>
<body>
<div></div>
<script>
 
 
 //创建各个方向条件判断变量是为了使其不再移动是卡顿
   var oDiv= document. getElementsByTagName( "div")[ 0]; // 创建各个方向条件判断初始变量 var t = false; var l = false; var r = false; var b = false; document.onkeydown= function (ev) { var even = window.event||ev; var key = even.keyCode; // 当按下对应方向键时,对应变量为 true switch ( key){ case 37: l= true; break; case 38: t= true; break; case 39: r= true; break; case 40: b= true; break; } } // 设置一个定时,时间为 10 左右 setInterval( fn, 10); function fn() { // 当其中一个条件为 true 时,则执行当前函数(移动对应方向) if( l){ oDiv. style. left = oDiv.offsetLeft- 2+ "px"; } else if( t){ oDiv. style. top = oDiv.offsetTop- 2+ "px"; } else if( r){ oDiv. style. left = oDiv.offsetLeft+ 2+ "px"; } else if( b){ oDiv. style. top = oDiv.offsetTop+ 2+ "px"; } } // 执行完后,所有对应变量恢复为 false ,保持静止不动 document.onkeyup= function (ev) { var even = window.event || ev; var key = even.keyCode; switch ( key){ case 37: l= false; break; case 38: t= false; break; case 39: r= false; break; case 40: b= false; break; } } </ script > </ body > </ html >

猜你喜欢

转载自blog.csdn.net/XinYe666666/article/details/80868200