Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/415.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 在每个i=i+;1._Javascript - Fatal编程技术网

Javascript 在每个i=i+;1.

Javascript 在每个i=i+;1.,javascript,Javascript,我有一个for循环,它创建了一个数字1-40的数组。当用户按下向上或向下键时,数字通过i++和i--增加或减少 出于某种原因,这很有效,每个数字都以稳定的速度变化——但它比我想要的快了一点,我不知道如何操作它 是否有JavaScript方法使i=i+1停止几毫秒,然后在每次迭代中重复?函数延迟(ms){return new Promise((resolve,reject)=>setTimeout(resolve,ms))} (异步()=>{ 对于(var i=0;ifunction delay(

我有一个
for
循环,它创建了一个数字1-40的数组。当用户按下向上或向下键时,数字通过
i++
i--
增加或减少

出于某种原因,这很有效,每个数字都以稳定的速度变化——但它比我想要的快了一点,我不知道如何操作它

是否有JavaScript方法使i=i+1停止几毫秒,然后在每次迭代中重复?

函数延迟(ms){return new Promise((resolve,reject)=>setTimeout(resolve,ms))}
(异步()=>{
对于(var i=0;i
function delay(ms){return new Promise((resolve,reject)=>setTimeout(resolve,ms))}
(异步()=>{

对于(var i=0;iCiao),您可以编写如下内容:

function wait() {
  return new Promise(resolve => {
  setTimeout(() => {
  resolve();
}, 1000); // lets say wait one second
});
}
然后单击函数,您可以调用:

async buttonClick = () = {
   await wait();
   // increase value and do stuff
};

再见,你可以这样写:

function wait() {
  return new Promise(resolve => {
  setTimeout(() => {
  resolve();
}, 1000); // lets say wait one second
});
}
然后单击函数,您可以调用:

async buttonClick = () = {
   await wait();
   // increase value and do stuff
};

您可以选中save press time to global variable,如
press time=new Date();
,并选中与当前时间的差异,如
new Date()-按time
它将返回以
毫秒为单位的差值,因此请使用所需的时间间隔。如果该时间间隔大于所需时间,则更新该值,同时按time

在下面试试

document.getElementById('input')。onkeydown=keydown;
设i=0;
按time=新日期();
功能键控(e){
如果((e.keyCode='38'| | e.keyCode==''40')&&new Date()-按time>1000){
e、 keyCode==“38”?i++:i--;
按时间=新日期();
document.getElementById('input')。value=i;
}
}

您可以选中save press time to global variable,如
press time=new Date();
并将与当前时间的差异检查为
new Date()-按time
它将返回以
毫秒为单位的差值,因此请使用所需的时间间隔。如果该时间间隔大于所需时间,则更新该值,同时按time

在下面试试

document.getElementById('input')。onkeydown=keydown;
设i=0;
按time=新日期();
功能键控(e){
如果((e.keyCode='38'| | e.keyCode==''40')&&new Date()-按time>1000){
e、 keyCode==“38”?i++:i--;
按时间=新日期();
document.getElementById('input')。value=i;
}
}

请也添加代码。您是否尝试使用
setTimeout(()=>{i=i+1;},time);
时间(毫秒)(2000=2s)好吧,因为您没有代码,我只需注释-编写一个函数来进行递增,并使用SetInterval或setTimeout调用它(请参阅哪一个更适合您的情况)。这应该行。@NinaScholz我正在尝试如何添加代码。这实际上比我发布的要复杂得多,因为这是一个用Phaser制作的游戏。基本上,我有一个精灵,它以增量方式跟随其他精灵数组的位置。@Kardon63是的,当我用5000毫秒尝试时,程序会等待5秒秒,然后正常运行。我需要它增加1,等待5秒,再次增加1,等待5秒,等等。请同时添加代码。是否尝试使用
setTimeout(()=>{I=I+1;},time);
time(2000=2s)好吧,因为您没有代码,所以我将只注释-编写一个函数来执行递增操作,并使用SetInterval或SetTimeout调用它(请参阅哪个更适合您的情况)。这应该行。@NinaScholz我正在尝试如何添加代码。这实际上比我发布的要复杂得多,因为这是一个用Phaser制作的游戏。基本上,我有一个精灵,它以增量方式跟随其他精灵数组的位置。@Kardon63是的,当我用5000毫秒尝试时,程序会等待5秒秒,然后表现正常。我需要它增加1,等待5秒,再次增加1,等待5秒,等等。