我再次访问以获取您丰富的知识:
我正在开发一个使用jQuery的小而简单的游戏(就像jQuery的练习一样)。我正在尝试阻止一个bug,它似乎会使运动在第一步就卡顿。要复制这一点,只需按住一个方向。它卡顿了一次,然后平稳地移动。
我使用的代码是:
$(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/
发布于 2013-04-08 10:10:06
heres my solution。我只修改了javascript。
实际上,绕过这样的问题有点复杂,这解释了大众代码。下面是一个演练:
我已经通过更改bufferTimeout变量,使您可以轻松地调整这个所谓的延迟,直到检测到按住键为止。您可以随意将所有代码放入一个函数中,甚至将其放入外部javascript文件中以便于使用。
如果它解决了您的问题,请尽情享受:)
https://stackoverflow.com/questions/15869683
复制相似问题