每当另一个变量增加 10 时,我想将变量值增加 1。
示例:一个页面应该有 10 行,如果超过 10,则页码将增加 1。
var pagenumber = 1;//default
var rows = 10;//dynamic value
行数为 20 时,页码应为 2。
行数为 21 时,页数应为 3。
行数为 15 时,页码应为 2。
行数为 35 时,页码应为 4。
我希望我的解释不会令人困惑。(行值由函数设置,因此行变量值是动态的)
那么我该如何实现呢?
每当另一个变量增加 10 时,我想将变量值增加 1。
示例:一个页面应该有 10 行,如果超过 10,则页码将增加 1。
var pagenumber = 1;//default
var rows = 10;//dynamic value
行数为 20 时,页码应为 2。
行数为 21 时,页数应为 3。
行数为 15 时,页码应为 2。
行数为 35 时,页码应为 4。
我希望我的解释不会令人困惑。(行值由函数设置,因此行变量值是动态的)
那么我该如何实现呢?
只需动态计算页码:
function get_page_number(elements, elementsPerPage) {
return Math.ceil(elements / elementsPerPage);
}
var pagenumber = get_page_number(rows, 10);
// counters
var a = 0;
var b = 0;
// demo for the first 5 pages
while (b < 5) {
a++;
// increment b only when a is a multiple of 10
if (a % 10 === 0) {
b++;
}
console.log(a, b);
}
输出
1 0
2 0
3 0
4 0
5 0
6 0
7 0
8 0
9 0
10 1
11 1
12 1
13 1
14 1
15 1
16 1
17 1
18 1
19 1
20 2
21 2
22 2
23 2
24 2
25 2
26 2
27 2
28 2
29 2
30 3
31 3
32 3
33 3
34 3
35 3
36 3
37 3
38 3
39 3
40 4
41 4
42 4
43 4
44 4
45 4
46 4
47 4
48 4
49 4
50 5
如果您需要没有其他修饰符的派生值,请考虑使用如下函数:
function pagenumber() {
return Math.ceil(rows / 10); // rows needs to be global for this to work. You can also pass it as a parameter.
}
以此更新页码
页码 = Math.ceil(rows/10)
谢谢,
迪拉吉
为什么不执行一个测试,将“行”除以 10,然后向上舍入到下一个整数值。
大卫
使用二传手
var pagenumber = 1;//default
var rows = 10;
function setRows (n) {
rows = n;
pagenumber = Math.ceil(n/10)
}
setRows(20);
console.log (pagenumber); //2
或使用Object.defineProperty
on的 getter/setterwindow
Object.defineProperty(window,"pagenumber",{
get: function () {
return Math.ceil((rows||0)/10)
}
});
var rows = 19;
console.log(pagenumber); //1
rows = 22
console.log(pagenumber); //2
ETC..
rows为20时,页码为
2。rows为21时,页码为
3。rows为15时,页码为
2。rows为35时,页码为3。 // 4?
pagenumber = Math.ceil((rows - 1) / 10 + 1)