如何在 JS 中调用 2 次或更多次时延迟函数执行
How to delay function execution when it calls 2 and more times in JS?
下面是我的代码的链接。请点击按钮几次,以了解我的意思。我正在尝试多次调用同一个函数,并在函数调用之间间隔。请帮助我。 http://codepen.io/arminemash/pen/KzBBjN
.HTML
<div id='generalwrapper'>
<div id='general'>
<div id='1' class='cell' onclick='simon(this.id)'></div>
<div id='2' class='cell' onclick='simon(this.id)'></div>
<div id='3' class='cell' onclick='simon(this.id)'></div>
<div id='4' class='cell' onclick='simon(this.id)'></div>
</div>
<div id='buttondiv'>
<button onclick='startGame()'>On</button>
</div>
</div>
JavaScript
var browser=[];
var count = 1;
function startGame(){
for(var i=0;i<count;i++){
browserturn();
}
count++;
}
function browserturn(){
var x=getNumber();
var element=x.toString();
browser.push(element);
var y=document.getElementById(element);
y.click();
$(y).delay(100).fadeOut().fadeIn('slow');
}
function getNumber(){
var randomNumber=Math.floor((Math.random() * 4)+1);
return randomNumber;
}
这将保证所有游戏之间有100毫秒的间隔
var tasks = []
var createTask = function(task) {
tasks.push(function() {
task(function() {
tasks.shift()
var next = tasks[0]
next()
})
})
if (tasks.length === 1) {
tasks[0]()
}
}
var startGame = function() {
createTask(function(next) {
... // whatever happens
// if ready call next
setTimeout(next, 1000)
})
}
http://codepen.io/lipp/pen/eZjopG
相关文章:
- JS在选择下拉菜单打开时创建延迟
- 使用 HTML5 Audio.currentTime 查找时出现延迟
- 当超出范围时,延迟执行脚本Jquery(或SetTimeOut)BUT
- 我们如何在下拉子菜单中设置5秒的时间或延迟
- 如何在引导下拉列表悬停时添加延迟
- socket.io 服务器在注册客户端断开连接时非常延迟
- 在移动浏览器上播放 HTML5 音频文件时出现延迟
- 在select2插件中引入ajax调用时的延迟
- 鼠标悬停在jquery上更改图片时出现延迟
- jQuery在隐藏/显示内容时无意延迟
- 在画布上跟踪鼠标光标时的延迟
- GitHub如何避免页面加载时的延迟/闪烁
- 如何在
- . slidetoggle()运行时带有延迟/抖动的动画
- 忽略按下键时的延迟
- 如何在显示DOM元素时添加延迟?
- Jquery ajax加载动画不应该在内容完成时显示(延迟)
- 为什么在画布上绘制图像时需要延迟?
- 第一次执行setInterval函数时不要延迟
- 在HTML表中加载每行时增加延迟