javascript - jQuery 动画卡顿

标签 javascript jquery jquery-animate

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

我正在使用 jQuery 开发一个小而简单的游戏(只是作为 jQuery 的练习)。我正在尝试阻止一个错误,该错误似乎会使第一步 Action 卡顿。要复制此操作,只需按住一个方向即可。它断断续续地移动一次,然后平滑地移动。

我使用的代码是:

$(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/

最佳答案

heres my solution 。我只更改了 javascript。

规避这样的问题实际上有点复杂,这解释了大规模代码。这是一个演练:

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

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

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

关于javascript - jQuery 动画卡顿,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15869683/

相关文章:

javascript - 我怎样才能使它成为一个更好的递归动画 jQuery 脚本?

jquery - 使图像从右到左重新调整大小

javascript - 如何使用变换更改或移动图像?

javascript - jQuery UI 日期选择器 setDate 与 new Date 对比 Date.parse

javascript - 如何在 openlayers API 中定义缩放按钮?

javascript - jQuery - 设置 Ajax 处理程序优先级

jQuery:可拖动连接到可排序。可拖动项目与可排序列表具有不同的 DOM

javascript - 如何使用javascript增加和重置html的字体大小?

javaScript - 求给定整数的所有除数之和

jquery - 如何在页面加载后延迟 jQuery 动画?