Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 设置超时按键_Javascript_Jquery_Settimeout - Fatal编程技术网

Javascript 设置超时按键

Javascript 设置超时按键,javascript,jquery,settimeout,Javascript,Jquery,Settimeout,我有下面的代码,它在带有设置超时的sprite表中移动。 它工作得很好,但我想知道如何使它这样,如果我按下“m”键,它将一次跳过一帧并停止(直到再次按下m),一旦没有更多的帧,进程应该停止 所以如果我按m,第一帧通过,如果我再按m,第二帧通过,等等…直到没有更多的帧了 这是我的密码: $(document).keyup(function(e) { if (e.keyCode == 77) { setTimeout(function

我有下面的代码,它在带有设置超时的sprite表中移动。 它工作得很好,但我想知道如何使它这样,如果我按下“m”键,它将一次跳过一帧并停止(直到再次按下m),一旦没有更多的帧,进程应该停止

所以如果我按m,第一帧通过,如果我再按m,第二帧通过,等等…直到没有更多的帧了

这是我的密码:

$(document).keyup(function(e) {          
        if (e.keyCode == 77) {  
            setTimeout(function () {
                object.css('background-position', '-32px -0px');
            setTimeout(function () {
                object.css('background-position', '-64px -0px');
            setTimeout(function () {
                object.css('background-position', '-96px -0px');
            setTimeout(function () {
                object.css('background-position', '-128px -0px');
             }, 600);
             }, 600);
             }, 600);
             }, 600);
        }
});
我认为消除设置超时可能会奏效,但我是否需要不断添加if(例如keyCode

希望我已经清楚了!
谢谢。

跟踪变量中的位置,并在每次按键时减小它(降低其值)。
var pos=0;
$(文件).keyup(函数(e){
如果(e.keyCode==77){
pos-=32;
警报(pos);
css('background-position',pos+'px-0px');
}
});