Javascript每次显示5个项目
我只想在一行中显示5个项目,接下来的5个项目将保持不可见,并且在几秒钟后第一个项目将可见,那么我如何使用for循环实现这一点Javascript每次显示5个项目,javascript,jquery,Javascript,Jquery,我只想在一行中显示5个项目,接下来的5个项目将保持不可见,并且在几秒钟后第一个项目将可见,那么我如何使用for循环实现这一点 var array = [" England", " USA", " Africa", " Spain", " Italy", " Norway", " Sweden", " Denmark", " Island", " Russia"]; var maxRows = 5; var row = array.length/maxRows; var rows = row.
var array = [" England", " USA", " Africa", " Spain", " Italy", " Norway", " Sweden", " Denmark", " Island", " Russia"];
var maxRows = 5;
var row = array.length/maxRows;
var rows = row.toFixed();
var counter = 0;
for (var i = 0; i < rows; i++){
for( var k = 0; k < 5; k++){
$("#output").append(array[k]);
}
counter += 5;
$("#output").append(counter);
}
var数组=[“英国”、“美国”、“非洲”、“西班牙”、“意大利”、“挪威”、“瑞典”、“丹麦”、“岛屿”、“俄罗斯”];
var maxRows=5;
var row=array.length/maxRows;
var rows=row.toFixed();
var计数器=0;
对于(变量i=0;i
您可以使用递归函数为自身设置超时:
function showCountries(start) {
for (var i = start; i < start + 5; i++){
if(i > array.length) return;
$("#output").append(array[k]);
}
counter += 5;
$("#output").append(counter);
// call the function again after 2 seconds
setTimeout(function() {
showCountries(start + 5);
}, 2000);
}
功能显示国家(开始){
对于(变量i=start;iarray.length)返回;
$(“#输出”).append(数组[k]);
}
计数器+=5;
$(“#输出”)。追加(计数器);
//2秒后再次调用该函数
setTimeout(函数(){
展示国家(start+5);
}, 2000);
}
您可以尝试setInterval()
`
var maxRows=5;
var row=array.length/maxRows;
var rows=row.toFixed();
var计数器=0;
var i=0;
var-temp=5;
setInterval(函数(){
$(“#输出”).html(“”);
对于(i=i;iarray.length){temp=5;}//可以设置temp=5;
打破
}
}
},2000);
`对于设置这样的动画非常有用。基本上,使用for循环划分数组,并使用setTimeout告诉浏览器将来如何更改显示。重要提示:Javascript中没有暂停或等待函数。很好,但当输入用完时,它需要一种停止的方法。@Paul:我假设
如果(i>array.length)返回代码>将处理该问题!!:)是的,那就可以了。@Peter-上面的代码每2秒显示一次记录-@Peter-当temp
大于array.length
时,您可以设置temp=5
的值请参阅更新的代码
var maxRows = 5;
var row = array.length/maxRows;
var rows = row.toFixed();
var counter = 0;
var i=0;
var temp=5;
setInterval(function(){
$("#output").html('');
for ( i = i; i < array.length; i++){
$("#output").append(array[i]);
if(i==temp){
temp=temp+5; // if (temp => array.length ) {temp=5;} //you can set temp =5;
break;
}
}
},2000);