Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/467.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每次显示5个项目_Javascript_Jquery - Fatal编程技术网

Javascript每次显示5个项目

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.

我只想在一行中显示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.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);