Jquery列表显示/隐藏5个项目onclick

发布于 2024-11-19 00:38:37 字数 666 浏览 2 评论 0原文

我的列表有 jquery 问题。 我有一个很大的列表,我想要点击链接时; 每次都会显示该列表中接下来的 5 个项目,而之前的项目将隐藏。

我该怎么做?

<ul>
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
<li>6</li>
<li>7</li>
<li>8</li>
<li>9</li>
<li>10</li>
<li>11</li>
<li>12</li>
<li>13</li>
<li>14</li>
<li>15</li>

Onload 应显示此内容:

1
2
3
4
5

当单击“下一步”时

6
7
8
9
10

当单击“下一步”时

11
12
13
14
15

提前致谢!

i have a jquery problem with lists.
I have a big list and i want when a link is clicked;
each time the next 5 items of that list will be shown and the previous items hide.

How can i do this?

<ul>
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
<li>6</li>
<li>7</li>
<li>8</li>
<li>9</li>
<li>10</li>
<li>11</li>
<li>12</li>
<li>13</li>
<li>14</li>
<li>15</li>

Onload this should be shown:

1
2
3
4
5

when clicked on "next"

6
7
8
9
10

when clicked on "next"

11
12
13
14
15

Thanks in advance !

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

过期以后 2024-11-26 00:38:37

此解决方案更短,并且还可以双向工作(上一个下一个)。
小提琴:http://jsfiddle.net/JQq5n/61/

$('ul li:gt(4)').hide();

$('.prev').click(function() {
    var first = $('ul').children('li:visible:first');
    first.prevAll(':lt(5)').show();
    first.prev().nextAll().hide()
});

$('.next').click(function() {
    var last = $('ul').children('li:visible:last');
    last.nextAll(':lt(5)').show();
    last.next().prevAll().hide();
});

This solution is shorter, and also works bidirectional (Previous and Next).
Fiddle: http://jsfiddle.net/JQq5n/61/

$('ul li:gt(4)').hide();

$('.prev').click(function() {
    var first = $('ul').children('li:visible:first');
    first.prevAll(':lt(5)').show();
    first.prev().nextAll().hide()
});

$('.next').click(function() {
    var last = $('ul').children('li:visible:last');
    last.nextAll(':lt(5)').show();
    last.next().prevAll().hide();
});
彼岸花似海 2024-11-26 00:38:37

这是一个选项:
http://jsfiddle.net/JQq5n/

不知道如何/是否打算显示前面的项目所以我把它省略了

Here's an option:
http://jsfiddle.net/JQq5n/

Don't know how/if you plan to show the previous items so I've left that out

╰沐子 2024-11-26 00:38:37

这是未经测试的代码,但我认为它会让您朝着正确的方向前进。

var currentShowingSet = 1;

$('#next').click(function() { 

    // Hide all.
    $('ul li').hide();

    // increment currently showing set of items.
    currentShowingSet++;

    // show the next 5 children of the list.
    for(var i = 1; i < 6; i++) {
        $('ul li:nth-child(' + (currentShowingSet * i) + ')').show();
    }
});

This is untested code, but I'm thinking it'll get you going in the right direction..

var currentShowingSet = 1;

$('#next').click(function() { 

    // Hide all.
    $('ul li').hide();

    // increment currently showing set of items.
    currentShowingSet++;

    // show the next 5 children of the list.
    for(var i = 1; i < 6; i++) {
        $('ul li:nth-child(' + (currentShowingSet * i) + ')').show();
    }
});
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文