项目中需要实现文章列表的分页显示,由于使用了bootstrap框架,所以我们选择bootstrap的分页实现方法。网上有一些这方面的介绍文章,并且也有相关的示例程序。这里结合我们的项目,介绍一下使用bootstrap的分页插件实现分页功能的方法。

1 html部分

bootstrap分页插件的名称是 bootstrap-paginator.js,下载地址

GitHub 官网地址:https://github.com/lyonlai/bootstrap-paginator,会下载很多文件,有demo程序,有css文件等,我们只使用bootstrap-paginator.js,当然需要bootstrap的css和js的基础文件。

页面引用

<script type="text/javascript" src="/js/jquery.js"></script>

<script type="text/javascript" src="/js/bootstrap.min.js"></script>

<script type="text/javascript" src="/js/bootstrap-paginator.js"></script>

html代码

<div id=" article _content"></div>

<div id=" article _page"></div>

2 js部分

思路是先利用ajax取出首页文章列表,然后是页码的显示与功能实现,第二次调用使用ajax取出与页码对应的文章列表,从而实现分页功能。两次调用ajax都是调用一个接口,不过第一次调用的currentPage是固定值,第二次调用的currentPage是根据点击页码取出的page值。

$(document).ready(function() {

$.ajax({

url: g_ServerAPI + "Column",

datatype: "json",

type: "Post",

data: "get=article&pageno="+ currentPage +"&pagesize=10",

//此处的currentPage提前进行了初始化,也就是为1

async:false,

success: function(data) {

var channelArticleAll = eval("(" + data + ")");

if(channelArticleAll.state == 1) {

for(var i=0;i<channelArticleAll.rows.length;i++){

var channelArticleAllItem='<li>\

<a href="">'+ channelArticleAll.rows[i].title +'</a>\

</li>';

$("# article _content ").append(channelArticleAllItem);

}

pageCount = (channelArticleAll.total/10)+1;

var options = {

bootstrapMajorVersion: 2, //版本

currentPage: currentPage, //当前页数

totalPages: pageCount, //总页数

itemTexts: function(type, page, current) {

switch(type) {

case "first":

return "首页";

case "prev":

return "上一页";

case "next":

return "下一页";

case "last":

return "末页";

case "page":

return page;

}

},

onPageClicked: function(event, originalEvent, type, page) {

$.ajax({

url: g_ServerAPI + "Column",

type: "Post",

data: " get=article&pageno ="+ page +"&pagesize=10",

success: function(data1) {

if(data1 != null) {

$("# article _content ").children().remove();

var channelArticleAll1 = eval("(" + data1 + ")");

for(var i=0;i<channelArticleAll1.rows.length;i++){

var   channelArticleAllItem1='<li>\

<a href="">'+ channelArticleAll1.rows[i].title +'</a>\

</li>';

$("# article _content ").append(channelArticleAllItem1);

}

}

}

});

}

};

$('#article _page').bootstrapPaginator(options);

}

},

error: function(XMLHttpRequest, textStatus, errorThrown) {

console.log("list article error!");

}

});

});

此时分页功能是能够实现的,但是有一个问题,就是显示的页码是竖着的,我们正常显示的页码应该是显示在一排,需要将bootstrap-paginator.js里的listContainer = $("<ul></ul>"),改成listContainer = $("<ul class='pagination'></ul>"),这样就能达到我们的目的,实现比较好的分页效果。

最后的页面效果是

用bootstrap的分页插件实现分页效果,操作起来很方便,以上介绍是简单的应用,如果需要实现更好的效果,还需要继续完善。

参考文章:http://www.jb51.net/article/85368.htm

http://www.cnblogs.com/moretry/p/4441728.html

bootstrap分页插件的使用的更多相关文章

  1. Bootstrap 分页插件 ajax获取数据显示

    Bootstrap 分页插件 ajax获取数据显示 标签(空格分隔): bootstrap 文章的内容是使用bootstrap-paginator进行分页,使用ajax获取后台数据.渲染. 1. 版本 ...

  2. Bootstrap分页插件ajax返回数据,工具类的编写

    使用Bootstrap分页插件时,需要返回指定的参数,这样Bootstrap才能够识别 需要引入的css: <!-- boostrap table --> <link href=&q ...

  3. bootstrap分页插件--Bootstrap Paginator的使用&AJAX版备份(可单独使用)

    html部分: <ul class="pagination"></ul> <!--bootstrap3版本用ul包裹--> <div cl ...

  4. Bootstrap分页插件:bootstrap-paginator

    今天和大家分享一个Bootstrap的分页插件:bootstrap-paginator. 插件地址: https://github.com/lyonlai/bootstrap-paginator 先看 ...

  5. JSP分页之结合Bootstrap分页插件进行简单分页

    结合Bootstrap的分页插件实现分页,其中策略是每次显示5个按钮,然后根据当前页的不同来进行不同的显示: 1. 当前页<3,如果当前页大于5页就显示前五页,不然就显示1~totalPage. ...

  6. Bootstrap分页插件--Bootstrap Paginator

    开源中国有一篇介绍的很详细,链接:https://my.oschina.net/shunshun/blog/204587 使用这个插件和使用其他Bootstrap内置的插件一样,需要引入如下文件: & ...

  7. 用bootstrap 分页插件问题

    如果页面加载js 一定要记得引入分页的东西 ,不然不会有数据, <script src="${path}/js/bootstrap-paginator.min.js"> ...

  8. Bootstrap Paginator分页插件+ajax

    Bootstrap Paginator分页插件下载地址: DownloadVisit Project in GitHub  Bootstrap分页插件属性介绍: http://www.cnblogs. ...

  9. bootstrap分页

    使用bootstrap分页插件,如下代码是html代码 <title>分页</title> <link href="page/bootstrap-3.3.5-d ...

随机推荐

  1. java思维导图

    https://www.edrawsoft.cn/viewer/public/s/eeca7704686971

  2. swagger结合dubbo的rest服务测试

    swagger结合dubbo的rest服务测试 背景介绍 我们应用的dubbo服务导出,可能没有直接的触发点去发起调用测试,除非自己手写controller和test类,缺乏一个动态工具,类似流行的s ...

  3. 开源jar包bug导致的CPU消耗200%问题分析案例

    mapdb是什么 mapdb是一个快速.易用的嵌入式java数据库,主要提供map和set形式的数据存储,使用起来就像是在操作java本身的map,set, mapdb可以提供内存级别和磁盘级别的缓存 ...

  4. Can not find the tag library descriptor for "http://java.sun.com/jsp/jst1/core

    主要是缺少两个包: jstl.jar下载地址: http://repo2.maven.org/maven2/javax/servlet/jstl/ standard.jar下载地址: http://r ...

  5. mysql查询出近一周,三个月,一年的数据

    SELECT * FROM 表名 WHERE 时间字段>DATE_SUB(CURDATE(), INTERVAL YEAR) 一年 SELECT * FROM 表名 WHERE 时间字段> ...

  6. idea使用阿里工具优化代码+阿里开发手册

    idea安装工具 打开插件安装界面 File-Settings-Plugins-Browse repositories... 搜索Alibaba Java Coding Guidelines 进行安装 ...

  7. Linux grep 命令详解

    简介grep (global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能 ...

  8. vue的风格指南(必要的)

    1.v-if与v-for不要放在同一个元素上 当 v-if 与 v-for 一起使用时,v-for 具有比 v-if 更高的优先级.永远不要把 v-if 和 v-for 同时用在同一个元素上. 一般我 ...

  9. php调用c/c++时 passthru()被禁用问题

    passthru被禁用,需要编辑php.ini文件 disable_functions = scandir,passthru,exec,system,chroot,chgrp,chown,shell_ ...

  10. Flutter 获取服务器数据

    文档 文档版本有些老 使用 dio 来获取数据 demo import 'dart:io'; import 'dart:convert'; import 'package:flutter/materi ...