好的,所以我会更具体一点(自从我上一个问题以来)。
基本上,我有一个分页页面 - 并且有三个显示类别,但每个分页页面只显示 50 个项目。因此,您可以让所有单个类别占据一个页面,或不同类别的组合 - 但每页不能超过 50 个项目。到达新类别后,将显示标题,然后显示相关项目。我无法弄清楚附加到 ajax 调用以请求每个类别的数学。例如,假设您搜索linen。假设您返回了分布在三个类别中的总共 329 场比赛,如下所示。现在,我将收到一些数据,以便我预先知道某些事情,即使我一次只查询 50 个项目。
A. 搜索亚麻:
基础数据
Total Items: 129
Category1 has 111 items
Category2 has 101 items
Category3 has 17 items
因此,在第 1 页上,您会看到:
CATEGORY 1 HEADER
... list of the 50 items ...
B. 用户点击“下一步”(因为我们仍处于类别 1 阈值中),我们将获得第二组 50 个。
第2页:
CATEGORY 1 HEADER
List of next 50 items
C. 用户点击“下一步”(我们总共打破了第 1 类,所以现在我们进入第 2 类)。
第 3 页:
CATEGORY 1 HEADER
List of 11 items
CATEGORY 2 HEADER
List of 39 category 2 items
ETC..
我遇到的问题是,如果不做大量的 if/else/||/&& 等。是否有一个漂亮的算法可以给我范围,所以在“下一页”点击我可以有 ajax 参数请求范围为后端。
即.. 所以对于第三个下一页单击 - (同时具有类别 1 和类别 2,如上所示)。在一个完美的世界中,我的 Ajax 会触发两个调用,一个用于类别 1,一个用于类别 2,就像这样。当然,如果 50 的列表完全涵盖所有三只猫,那么将进行三个调用。
/category1?rows=11&start=101
/category2?rows=39&start=1
类似的东西。所以我知道我想从第一个 ajax 调用中获得 11 个项目,以 101 开头。我假设后端会知道范围是 101-111 等。
我希望我在这里足够简洁以满足我的需求。解决方案似乎非常数学化。
我的工作思路是,只是用铅笔画东西……
(category1 - (max x (currPage - 1)) / max >= 1 --> 如果为真,则请求 50 个类别 1;
(category1 - (max x (currPage - 1)) / max < 1 --> 请求模量然后开始进入category2
我们使用jquery。