我正在制作自己的幻灯片。我想遍历一个对象的成员,每次迭代之间有一个明显的停顿。
使用 setInterval,我想出了这个:
for (key in ob) {
setInterval(
function (){
console.log("Key:", key);
console.log("Value:", ob[key]);
}, 2000
)
}
但是,这是行不通的。它会立即转储键/值对日志,我的期望是每个操作之间会有一个间隔。
如何在每次操作之间暂停进行迭代?
最佳答案
你根本不能那样做。
试试这个:
var keys = Object.keys(ob);
var index = 0;
setInterval( function(){
console.log( keys[index], ob[keys[index]] );
index = ( index + 1 ) % keys.length;
}, 2000 );
一个不滚动而是在处理完所有内容后停止的示例:
var keys = Object.keys(ob);
var index = 0;
var timer = setInterval( function(){
console.log( keys[index], ob[keys[index]] );
index++;
if( index >= keys.length ) {
clearInterval( timer );
}
}, 2000 );
关于javascript:我如何创建一个缓慢的for...in循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18250668/