Javascript-创建一个以30步为增量的for循环
Javascript - Creating a for loop with increments of 30 steps
我正在尝试创建一个以30步为增量的for-loop
。这样做的目的是希望在不使用任何插件的情况下将其用于非常简单和原始的分页。
首先我有一个无序的HTML列表:
<ul id="pagination"></ul>
这是我用来填充列表和设置元素属性的代码。为了这个问题,使用了data-skip
和data-top
,但实际上它们稍后将添加到url
中,以便REST调用获取数据。
var total = 115;
var intervalo = Math.ceil(total / 30);
var pagination = document.getElementById('pagination');
for (var c = 1; c <= intervalo; c++) {
var top = c * 30;
var skip = (c * 30) - 30;
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);
}
上面的代码在控制台中返回:
&$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)
我想我想通了。这可能不是最好的选择,但目前对我来说有效。希望能帮助别人,甚至有人能提供比我更好的答案。我创建了一个数组,然后进行操作。
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));
相关文章:
- 为什么JavaScript在for循环为3时向所有4发出警报
- 另一个ajax调用中的Jquery ajax调用在for循环中没有按预期工作
- 我的javascript for循环不起作用
- For循环冻结Javascript
- 如何在for循环中添加事件侦听器
- 双“for”循环(循环)
- javascript for循环不起作用
- for循环中的javascript if语句找不到==
- Javascript在for循环中等待处理请求
- For循环在Jquery中只运行一次
- 如何在for循环中使用计数器
- for循环中的JavaScript闭包
- 为什么我们在ES2015中需要一个新的for循环结构,而我们已经有了for、forEach
- For循环在调用时未运行
- 如何使用for循环添加所有按钮'单击事件
- 如何更改在for循环中生成的圆的位置
- 为什么这个For循环会使浏览器实验室崩溃
- 为什么我使用javascript获得了一个无限的for循环
- 在for循环中使用多维数组设置google.maps.Marker图标
- 如何在angularJS中运行for循环而不使用html标记