javascript – Keydown在第一个keyress和后续按键后暂停

前端之家收集整理的这篇文章主要介绍了javascript – Keydown在第一个keyress和后续按键后暂停前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
Here

使用向上和向下键

当我按下一个键时,红色框向下移动,暂停,然后移动其余部分.

如何删除暂停?

解决方法

你应该遵循keydown和keyup并使用间隔来更顺畅地移动球拍.

演示:http://jsfiddle.net/M7TKc/16/

var paddle = $("#paddle");
paddle.css({backgroundColor: "red",height:"100px",width:"25px",position: "absolute"});

var paddle_y = 0,moving = 0;  /* added */

draw_paddle();

window.setInterval(function () {  /* added */
    if (moving != 0) {
        paddle_y += moving;
        draw_paddle();
    }},100);

function move_down(){
    moving = -10;
}
function move_up(){
    moving = 10;
}

function draw_paddle(){
    paddle.css({top: paddle_y+"px"});
}

$(document).keypress(function(e) {
    if(e.which == 13) {
        // stop on "ENTER"
        moving = 0;
    }
});
$(document).keydown(function(e){  /* changed */
    if (e.keyCode == 38)
        move_down();
    else if (e.keyCode == 40)
        move_up();

});

$(document).keyup(function(e){  /* added */
    if (e.keyCode == 38 || e.keyCode == 40)
        moving = 0;
});

猜你在找的JavaScript相关文章