【问题标题】:Adding a next button to pagination javascript在分页javascript中添加下一个按钮
【发布时间】:2014-07-11 00:22:33
【问题描述】:

使用这个 js 分页,我想获得一些关于如何添加下一个和上一个按钮的帮助。此外,我一直在努力使 OL 具有动态性,并且具有与内容一样多的页面。一些帮助将不胜感激。 jfiddle.

 pageSize = 3;

 showPage = function(page) {
 $(".content").hide();
 $(".content").each(function(n) {
    if (n >= pageSize * (page - 1) && n < pageSize * page)
        $(this).show();
});        
}

showPage(1);

<div class="content">1 I have some content</div>
<div class="content">2 I have some content</div>
<div class="content">3 I have some content</div>
<div class="content">4 I have some content</div>
<div class="content">5 I have some content</div>
<div class="content">6 I have some content</div>
<div class="content">7 I have some content</div>
<div class="content">8 I have some content</div>
<div class="content">9 I have some content</div>
<div class="content">10 I have some content</div>
<div class="content">11 I have some content</div>
<div class="content">12 I have some content</div>

<ol id="pagin">
        <li><a class="current" href="#">1</a></li>
        <li><a href="#">2</a></li>
        <li><a href="#">3</a></li>
        <li><a href="#">4</a></li>
</ol>

【问题讨论】:

    标签: jquery html pagination


    【解决方案1】:

    使用您的代码,这是我的答案:http://jsfiddle.net/jfm9y/405/ 您需要的一切都在那里。如果你有更多的 div,它会继续进一步,它是动态的。

    希望对你有帮助

    JS:

    pageSize = 3;
    var i = 1;
    showPage = function(page) {
        $(".content").hide();
        $(".content").each(function(n) {
            if (n >= pageSize * (page - 1) && n < pageSize * page)
                $(this).show();
        });        
    }
    
    showPage(i);
    
    $("#previous").click(function() {
        $("#next").removeClass("current");
        $(this).addClass("current");
        if (i != 1) {
          showPage(--i);
        }
    });
    $("#next").click(function() {
        $("#previous").removeClass("current");
        $(this).addClass("current");
        if (i < ($('.content').length)/3) {
          showPage(++i);
        }    
    });
    

    一点HTML修改:

    <ol id="pagin">
                <li><a id='previous' class="current" href="#">Previous</a></li>
                <li><a id='next' href="#">Next</a></li>
    </ol>
    

    【讨论】:

    • 哦,这很好用,如果我想在它们之间添加一些页码,我可以解决这个问题还是另一种方法?
    • 兼容!只需添加几行即可。您可以使用 i 变量,它指的是当前页面。您可以添加一些&lt;li&gt; 并根据i 变量动态设置页面编号,在$("#previous").click$("#next").click 侦听器期间更新新&lt;li&gt; 的编号;)
    • 好酷!我要开始解决了,谢谢你的帮助!
    • 我应该创建一个循环来显示页码并将新的
    • 附加到上一页之后的页面吗?
  • 我不明白你的意思,但你应该做的是创建 3 个
  • ,具有三个不同的 id,并且在每个“点击”功能中,你改变那些
  • ' s 满足您的需求,这要归功于 i 变量
  • 【解决方案2】:

    这样的事情怎么样? http://jsfiddle.net/jfm9y/184/

    $('a.prev, a.next').click(function(){
        var a = $(this),
            current = $('#pagin li a.current'),
            page = parseInt(current.text());
        if (a.hasClass('prev')) {
            page--;
            if (page < 1) page = 1;
        } else if (a.hasClass('next')) {
            page++;
            if (page > pageCount) page = pageCount;
        }
        $('.page:eq(' + (page - 1) + ')').click();
    });
    

    【讨论】:

      猜你喜欢
      相关资源
      最近更新 更多
      热门标签