每当另一个变量增加10时,我想将变量值增加1。
实施例: 一个页面应该有10行,如果超过10,页面编号将增加1。
var pagenumber = 1;//default
var rows = 10;//dynamic value
当行数为20时,页码应为2
当行为21时,页码应为3
当行为15时,页码应为2.
当行为35时,页码应为4.
我希望我的解释不会令人困惑。 (行值由函数设置,因此行变量值是动态的)
那我怎么能实现这个目标呢?
答案 0 :(得分:3)
动态计算页码:
function get_page_number(elements, elementsPerPage) {
return Math.ceil(elements / elementsPerPage);
}
var pagenumber = get_page_number(rows, 10);
答案 1 :(得分:1)
// 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
答案 2 :(得分:0)
如果您需要一个没有其他修饰符的派生值,请考虑使用如下函数:
function pagenumber() {
return Math.ceil(rows / 10); // rows needs to be global for this to work. You can also pass it as a parameter.
}
答案 3 :(得分:0)
通过此
更新页码pagenumber = Math.ceil(rows / 10)
谢谢,
DHIRAJ
答案 4 :(得分:0)
为什么不执行测试将'rows'除以10,然后向上舍入到下一个整数值。
大卫
答案 5 :(得分:0)
使用Setter
var pagenumber = 1;//default
var rows = 10;
function setRows (n) {
rows = n;
pagenumber = Math.ceil(n/10)
}
setRows(20);
console.log (pagenumber); //2
或window
Object.defineProperty
的getter / setter
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
等。
当行数为20时,页码应为2 当行为21时,页码应为3 当行为15时,页码应为2.
当行为35时,页码应为3. // 4?
答案 6 :(得分:0)
pagenumber = Math.ceil((rows - 1) / 10 + 1)