一个类中计算了总页数,怎么在js中调用总页数
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一个类中计算了总页数,怎么在js中调用总页数相关的知识,希望对你有一定的参考价值。
将类计算好的总页面 通过html 的input type='hidden'绑定到页面,然后通过 js的dom操作进行选择并得到数值。追问问题已经解决了,谢谢!
参考技术A 什么意思能详细点吗?追问谢谢,问题解决了,在servlet中计算出总页数,然后传递给js,在js中实现分页
计算总页数的分页逻辑
【中文标题】计算总页数的分页逻辑【英文标题】:pagination logic in calculating total of pages 【发布时间】:2018-02-16 21:17:41 【问题描述】:我正在使用一个反应组件,需要我在下面的 prop 中传递
<Pager
totalPages=10
currentPage=1
/>
我无法计算出 api 中的计算,因为我有 total_items
,而不是 totalPages
。如果我有 50 个total_items
,我怎样才能为totalPages
属性生成 5 个?说我的限制是 10。
【问题讨论】:
如果您可以发布寻呼机组件,那将有所帮助 @VamshiGudipati npmjs.com/package/react-toolbox-additions total_items / 10 应该给你页数。您还需要考虑除法的其余部分(total_items % 10)。所以总页数将是 total_items / 10 和 1,以防余数 > 0。 @Umesh 那么答案是什么?你也很困惑吗? 我的解释和fubar回答的一样。 【参考方案1】:将total_items
除以limit
,然后向上取整。
Math.ceil(total_items/limit);
50 items / 10 per page = 5 pages
55 items / 10 per page = 6 pages
【讨论】:
如果items < perpage
,则返回0
。
@saman.shahmohamadi 如果您使用的是Math.ceil
,这是不可能的,除非项目数为 0。例如Math.ceil(1/10) = 1
对于可能将 total_items 作为整数传递的其他语言,您需要将其转换为浮点数。例如,在 Ruby 中 (total_items.to_f / limit).ceil
当你想拥有1个total_items === 0
时,你可以使用Math.ceil(total_items/limit)||1
;【参考方案2】:
您需要检查除法是否有商,因为显然很少有项目需要在另一个页面中显示
例如:
6 items
5 limit
如果我们只是 divide and ceil
我们会得到 1 这是不正确的,因为有一个项目需要额外的页面来计算
totalPages_pre = (total_items/limit)
totalPages = (search.total % page_size) == 0 ? totalPages_pre : totalPages_pre + 1
【讨论】:
Math.ceil()
确实给出了更高的数字(在这种情况下为 2)。
这句话实际上是正确的“如果我们只是除法和ceil我们将得到1”,这是由java的整数运算引起的,Math.ceil期望一个double但除法integer / integer
返回integer
以上是关于一个类中计算了总页数,怎么在js中调用总页数的主要内容,如果未能解决你的问题,请参考以下文章