首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用jQuery实现分页错觉

使用jQuery实现分页错觉
EN

Stack Overflow用户
提问于 2010-11-26 10:32:37
回答 3查看 238关注 0票数 0

嘿,我想创建一个基本的分页效果..我有(比方说) 100篇文章。我想要显示前9,因此隐藏从10 - 100我如何抓住这些孩子。

我的下一个要求显然是隐藏1-9显示10-18隐藏19-100你明白了。在进阶时谢谢。

沿着这样的线标记:

代码语言:javascript
复制
<div class="grid">
  <div class="widget">some content...</div>
  <div class="widget">some content...</div>
  <div class="widget">some content...</div>
  <div class="widget">some content...</div>
  <div class="widget">some content...</div>
  <div class="widget">some content...</div>
etc...
</div>
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-11-26 10:38:59

可以使用slice函数将选择范围限制在一个范围内。请注意,它是从零开始的。

代码语言:javascript
复制
$('.widget').hide().slice(9,17).show();
票数 1
EN

Stack Overflow用户

发布于 2010-11-26 10:37:38

要隐藏除前九个之外的所有内容,可以使用:gt选择器:

代码语言:javascript
复制
$(".grid .widget:gt(8)").hide();

您可以组合使用:gt:lt选择器来实现您的目标。

我建议的另一种方式是按照@tvanfosson的回答使用slice。(+1)

票数 2
EN

Stack Overflow用户

发布于 2010-11-26 10:37:41

下面是一些代码。显然,您需要设置page,然后在用户更改页面时执行each()代码。

代码语言:javascript
复制
var ITEMS_PER_PAGE = 2;
var page = 1;

// Option 1
$('.grid > .widget').each(function(i, item) {
    var visible = i >= (ITEMS_PER_PAGE * (page - 1)) && i < (ITEMS_PER_PAGE * page);
    $(item).toggle(visible);
});

// Option 2 (based on other answers)
$('.grid > .widget').hide().slice((ITEMS_PER_PAGE * (page - 1)), (ITEMS_PER_PAGE * page)).show();
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4282165

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档