DOCTYPE html > html lang ="en" > head > meta charset ="UTF-8" > title > 键盘控制方块移动 title > style > #box { width : 50px ; height : 50px ; background-color : green ; position : relative ; left : 50px ; top : 50px ; } style > head > body > div id ="box" > div > script > // var box=document.getElementById('box');//此部分代码的效果会用小小的停顿,下面的为改进代码 // var l=0; // var t=0; // document.onkeydown=function(){ // var e=window.event||ev; // // console.log(e.keyCode); // if (e.keyCode==37) { // l-=10; // box.style. // left=l+'px'; // } // if (e.keyCode==38) { // t-=10; // box.style.top=t+'px'; // } // if (e.keyCode==39) { // l+=10; // box.style.left=l+'px'; // } // if (e.keyCode==40) { // t+=10; // box.style.top=t+'px'; // } // } var div = document.getElementById( ' box ' ); var s = 0 ,left = 0 ,right = 0 ,bottom = 0 ; // 用top不可以,为保留字; var timer = null ,x = 50 ,y = 50 ; timer = setInterval( function (){ if (left == 1 ) { x -= 5 ; div.style.left = x + ' px ' ; } if (right == 1 ) { x += 5 ; div.style.left = x + ' px ' ; } if (s == 1 ) { y -= 5 ; div.style.top = y + ' px ' ; } if (bottom == 1 ) { y += 5 ; div.style.top = y + ' px ' ; } }, 20 ) document.onkeydown = function (ev){ var e = ev || window.event; switch (e.keyCode){ case 37 : left = 1 ; break ; case 38 : s = 1 ; break ; case 39 : right = 1 ; break ; case 40 : bottom = 1 ; break ; default : alert( ' 请按方向键 ' ); } } document.onkeyup = function (ev){ var e = ev || window.event; switch (e.keyCode){ case 37 : left = 0 ; break ; case 38 : s = 0 ; break ; case 39 : right = 0 ; break ; case 40 : bottom = 0 ; break ; default : alert( ' 请按方向键 ' ); } } script > body > html >
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://haodehen.cn/did101876