JavaScript键盘事件(上下左右键无卡顿移动div)

    科技2023-12-31  71

    html代码:

    <div id="box1"></div>

    css代码:

    #box1{ height: 100px; width: 100px; position: absolute; background-color: lightsalmon; }

    js代码:

    //box根据不同的方向键移动 window.onload = function(){ //初始速度 var speed = 10; var dir = 0; //开启一个定时器,控制div移动 setInterval(function(){ //创建一个变量表示方向 //左37 上38 右 39 下40 switch(dir){ case 37: box1.style.left = box1.offsetLeft - speed + "px"; break; case 38: box1.style.top = box1.offsetTop - speed + "px"; break; case 39: box1.style.left = box1.offsetLeft + speed + "px"; break; case 40: box1.style.top = box1.offsetTop + speed + "px"; break; } }, 30); //键盘按下ctrl,div加速移动 document.onkeydown = function(event){ event = event || window.event; if(event.ctrlKey){ speed = 60; }else{ speed = 10; } dir = event.keyCode; }; //ctrl松开时,div不再移动 document.onkeyup = function(){ dir = 0; }; };
    Processed: 0.010, SQL: 8