jQuery动画口吃

时间:2013-04-08 00:53:14

标签: javascript jquery jquery-animate

我再次访问你的丰富知识:P

我正在使用jQuery开发一个小而简单的游戏(就像jQuery的练习一样)。我试图阻止一个错误似乎使运动在第一步中口吃。复制这个只是按住一个方向。它口吃一次然后顺利移动。

我使用的代码是:

$(document).keydown(function(e) {
switch (e.which) { 
case 37:
    $('#move').animate({
        left: '-=2'
    },1); //left arrow key
    break;
case 38:
    $('#move').stop().animate({
        top: '-=20' 
    }).animate({
            top: '+=20'        
    }); //up arrow key (jump)
    break;
case 39:
    $('#move').animate({
        left: '+=2'
    },1); //right arrow key 
    break;

}
});

这可能是一个非常愚蠢的东西,我错过了一个属性,但我无法弄明白。

编辑:我在各种浏览器中尝试过但仍然遇到同样的问题。

编辑2:我把它放在jsfiddle上虽然它与我自己的浏览器不一样,但它应该给你一个想法:P http://jsfiddle.net/urAGB/4/

1 个答案:

答案 0 :(得分:0)

heres my solution。我只更改了javascript。

它实际上很难避免这样的问题,这解释了群发代码。这是一个演练:

  • 自动移动对象的功能,在按键时间和检测到按键被“按下”之间
  • 我们在某些条件下激活和停用此功能

通过更改bufferTimeout变量,我可以轻松地调整所谓的延迟,直到检测到按键为止。您可以随意将所有代码放入函数中,甚至可以将其放在外部javascript文件中以方便使用。

如果它解决了您的问题,请享受:)