Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.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-创建一个以30步为增量的for循环_Javascript_Loops_For Loop - Fatal编程技术网

Javascript-创建一个以30步为增量的for循环

Javascript-创建一个以30步为增量的for循环,javascript,loops,for-loop,Javascript,Loops,For Loop,我正在尝试为循环创建一个增量为30步的。这样做的目的是希望在不使用任何插件的情况下使用它进行非常简单和原始的分页 首先,我有一个无序的HTML列表: <ul id="pagination"></ul> 上面的代码在控制台中返回: &$skip=0 &$top=30 &$skip=30 &$top=60 &$skip=60 &$top=90 &$skip=90 &$top=120 但这就是问题所在。如果您注

我正在尝试为循环创建一个增量为30步的
。这样做的目的是希望在不使用任何插件的情况下使用它进行非常简单和原始的分页

首先,我有一个无序的HTML列表:

<ul id="pagination"></ul>
上面的代码在控制台中返回:

&$skip=0 &$top=30
&$skip=30 &$top=60
&$skip=60 &$top=90
&$skip=90 &$top=120
但这就是问题所在。如果您注意到
和$skip
始终与前面的
和$top
匹配。实际上,我需要的是返回类似的东西:

&$skip=0 &$top=30
&$skip=31 &$top=60
&$skip=61 &$top=90
&$skip=91 &$top=120

我怎样才能做到这一点?我感觉我就快到了,但我没有把握好。如果需要任何其他细节,请告诉我,谢谢

只需增加30,而不是
c++

for (var c = 1; c <= total; c+=30) 

for(var c=1;c只需增加30,而不是
c++

for (var c = 1; c <= total; c+=30) 

for(var c=1;c我想我已经找到了答案。这可能不是最好的选择,但目前对我来说很有效。希望它能帮助其他人,甚至有人会提供比我更好的答案。我创建了一个数组,然后进行操作

var total = 115;
var intervalo = Math.ceil(total / 30);
var pagination = document.getElementById('pagination');
var range = [];

for (var c = 1; c <= intervalo; c++) {
  var top = c * 30;
  var skip = (c * 30) - 30;
   range.push({  
        skip: skip,
        top: top
   });
  // console.log('&$skip=' + skip + ' &$top=' + top);

 var li = document.createElement('li');
     li.id = c;
     li.setAttribute('data-skip', '&$skip=' + skip);
     li.setAttribute('data-top', '&$top=' + top);

 var a = document.createElement('a');
     a.href = '#';
     a.textContent = c;

  li.appendChild(a);
  pagination.appendChild(li);

  }

 console.log(JSON.stringify(range));

 for (var r = 1; r < range.length; r++) {
     range[r].top = range[r].top - 1;
 }
 console.log(JSON.stringify(range));
var总计=115;
var intervalo=数学ceil(总计/30);
var pagination=document.getElementById('pagination');
var范围=[];

对于(var c=1;c我想我已经找到了答案。这可能不是最好的选择,但目前它对我很有效。希望它能帮助其他人,甚至有人会提供比我更好的答案。我创建了一个数组,然后进行操作

var total = 115;
var intervalo = Math.ceil(total / 30);
var pagination = document.getElementById('pagination');
var range = [];

for (var c = 1; c <= intervalo; c++) {
  var top = c * 30;
  var skip = (c * 30) - 30;
   range.push({  
        skip: skip,
        top: top
   });
  // console.log('&$skip=' + skip + ' &$top=' + top);

 var li = document.createElement('li');
     li.id = c;
     li.setAttribute('data-skip', '&$skip=' + skip);
     li.setAttribute('data-top', '&$top=' + top);

 var a = document.createElement('a');
     a.href = '#';
     a.textContent = c;

  li.appendChild(a);
  pagination.appendChild(li);

  }

 console.log(JSON.stringify(range));

 for (var r = 1; r < range.length; r++) {
     range[r].top = range[r].top - 1;
 }
 console.log(JSON.stringify(range));
var总计=115;
var intervalo=数学ceil(总计/30);
var pagination=document.getElementById('pagination');
var范围=[];

对于(var c=1;c
for(var c=1;c)我可能过于简化了,但是…
var skip=(c*30)-30+1;
我已经试过了,但是会更难(我想)将
li
添加到列表中。谢谢!@Hodrobond。好建议,唯一的问题是skip将从
1
开始,它必须从
0
开始。如果从0开始,它应该在29结束。不是吗?0-29,30-59,60-89等等。
对于(var c=1;c我可能过于简化了,但是…
var skip=(c*30)-30+1;
我已经试过了,但那会更难(我想)将
li
添加到列表中。谢谢!@Hodrobond。好建议,唯一的问题是跳过将从
1
开始,并且必须从
0
开始。如果从0开始,那么应该在29结束。不是吗?0-29、30-59、60-89等等。我想你是指(var c=1;c我确定。如果仔细想想,
intervalo
是除以
var intervalo=Math.ceil(total/30)
的结果,那么在这种情况下它将等于
4
,总共有
115个
元素。无论如何,谢谢你,谢谢你。我想你的意思是(var c=1;c我敢肯定。如果思考一下,
intervalo
是除以
var intervalo=Math.ceil(total/30)
的结果,那么在这种情况下它将等于
4
,总共有
115个
元素。无论如何,谢谢你,谢谢你。