在嵌套循环Javascript中播放功能
Play functionality in nested loops Javascript
我正在尝试使用JavaScript构建游戏功能,以在地图上为我的属性值播放不同的颜色。我使用简单的for循环构建的基本逻辑不适合我,因为循环播放得如此之快,我只能在地图上显示最后的值。
的例子:
//Hash of my Values
var myHash = {};
myHash['1'] = [10,100];
myHash['2'] = [20,200, 30];
myHash['3'] = [40,300, 4, 5];
function startPlaying() {
for (item in myHash) {
var myValues= myHash[item];
var timeOut=setTimeout(function(){
animate(myValues,item);
},1000);
}
}
function animate(myValues,item) {
for(i in myValues) {
//calling my function for each value to play on map with different styles.
playMyMap();
}
}
我期待在这里,我的函数startPlaying将触发超时函数三次(1秒延迟的项目数量)与相应的myValues和item,它将继续迭代myValues分别为三个项目。
但是这对我不起作用,因为myValues在每次调用setTime out函数时都会弄乱。
谁能给我一个想法在这里,我怎么能建立这样的功能?
var timeOut=setTimeout(function(){
animate(myValues,item);
},1000);
}
将触发3次,但都在1秒后。如果你保持一个计数器,你必须做1000*counter
每秒有一个动画函数。
下面的示例使用item
作为乘数,因为您的索引以1开始。通常数组从索引0开始。如果您将第一项更改为索引0,只需执行1000 * (item + 1)
以从1秒开始。
试试这个:
function startPlaying() {
for (item in myHash) {
var myValues= myHash[item];
var timeOut=setTimeout(function(){
animate(myValues,item);
},1000 * item );
}
}
相关文章:
- 为简单的jQuery滑块添加自动播放功能
- 浏览器同步摄像头加速视频播放不是一个功能
- HTML <音频>标签的播放功能无法在移动设备上触发
- 基本 jquery 滑块的自动播放功能
- 使用击键来控制YouTube播放功能
- 自动播放功能未在 JS 中执行
- 随机播放功能在单击按钮上不起作用
- HTML 5 视频自动播放功能检测
- 如何向正在运行的setInterval添加暂停/播放功能
- MEJS(媒体元素JS)播放功能
- HTML5视频循环src对端播放功能的更改不起作用
- HTML5视频自动播放功能不工作在fullpage.js
- 禁用/启用点击播放功能
- 在嵌套循环Javascript中播放功能
- 为jquery.roundabout添加自动播放功能
- Jquery自动播放功能只工作一次
- 如何嵌入youtube视频's缩略图,具有点击自动播放功能
- 在转盘上添加暂停/播放功能
- Limelight视频播放器(无序播放功能)
- 向选项卡添加自动播放功能