若依本身也就封装好了 直接用即可
以上方法我自己有做过测试,需要和前端对应才能进行分页。
但如果是用来测试接口,startPage();回显出来的json 是 以一百条数据为一页的。
但是要实现 十条数据 该怎么去做呢
首先我们要在我们需要实现分页的表的实体类中创建两个参数并生成get set方法
然后是接口调用
最后是接口测试时传的参数
成功!!!通过使用 disabled 来定义不可点击的链接,通过使用 active 来指示当前的页面。
Bootstrap,来自 Twitter,是目前很受欢迎的前端框架。Bootstrap 是基于 HTML、CSS、JAVASCRIPT 的,它简洁灵活,使得 Web 开发更加快捷。[1] 它由Twitter的设计师Mark Otto和Jacob Thornton合作开发,是一个CSS/HTML框架。Bootstrap提供了优雅的HTML和CSS规范,它即是由动态CSS语言Less写成。Bootstrap一经推出后颇受欢迎,一直是GitHub上的热门开源项目,包括NASA的MSNBC(微软全国广播公司)的Breaking News都使用了该项目。[2] 国内一些移动开发者较为熟悉的框架,如WeX5前端开源框架等,也是基于Bootstrap源码进行性能优化而来。本文实例为大家分享了laypage前端分页插件,ajax异步分页,获取json数据实现无刷新分页,供大家参考,具体内容如下:
function GetList(pageIndex) {
var _this = ""
var clone_this = "";
_this = $("BindDataList");//数据列表容器,
clone_this = _thisclone(true);
var pageSize = 25;//每页展示的条数
$ajax({
type: "get",
async: false,//异步锁定,默认为true
url: "/ashx/System/DefaultAjaxashx",//后端处理数据,返回json格式
data: {"pageIndex": pageIndex, "pageSize": pageSize, },
contentType: "application/json; charset=utf-8",
success: function (data) {
var json = eval("(" + data + ")");
if (jsonPageCount > 0) //数据总条数
{
_thishtml("");
for (var i = 0; i < jsonrowslength ; i++) {
var html = "<li>json数据</li>";
_thisappend(html);
}
jsonpage(json, pageIndex, pageSize);
}
else {
_thishtml("");
_thisappend("");
}
}
});
}
function jsonpage(json, pageIndex, pageSize) {
var coun = jsonPageCount;//总数据条数
var pagecount = coun % pageSize == 0 coun / pageSize : coun / pageSize + 1;//计算多少页
var laypageindex = laypage({
cont: 'project_page', //容器。值支持id名、原生dom对象,jquery对象。
skin: '#fb771f',
pages: pagecount, //通过后台拿到的总页数
curr: pageIndex, //初始化当前页
first: '|<', //将首页显示为数字1,。若不显示,设置false即可
last: '>|', //将尾页显示为总页数。若不显示,设置false即可
prev: '<', //若不显示,设置false即可
next: '>', //若不显示,设置false即可
jump: function (obj, first) { //触发分页后的回调
if (!first) { //点击跳页触发函数自身,并传递当前页:objcurr
SearchHotTag(objcurr);
}
}
});
}前端分页
// 1获取商品分类列表
async getcatlist () {
let res = await this$>一、分页方法
/
TODO 基础分页的相同代码封装,使前台的代码更少
@param $m 模型,引用传递
@param $where 查询条件
@param int $pagesize 每页查询条数
@return \Think\Page
/
function getpage(&$m,$where,$pagesize=10){
$m1=clone $m;//浅复制一个模型
$count = $m->where($where)->count();//连惯 *** 作后会对join等 *** 作进行重置
$m=$m1;//为保持在为定的连惯 *** 作,浅复制一个模型
$p=new Think\Page($count,$pagesize);
$p->lastSuffix=false;
$p->setConfig('header','<li class="rows">共<b>%TOTAL_ROW%</b>条记录 每页<b>%LIST_ROW%</b>条 第<b>%NOW_PAGE%</b>页/共<b>%TOTAL_PAGE%</b>页</li>');
$p->setConfig('prev','上一页');
$p->setConfig('next','下一页');
$p->setConfig('last','末页');
$p->setConfig('first','首页');
$p->setConfig('theme','%FIRST% %UP_PAGE% %LINK_PAGE% %DOWN_PAGE% %END% %HEADER%');
$p->parameter=I('get');
$m->limit($p->firstRow,$p->listRows);
return $p;
}
getpage方法可以放在TP框架的 Application/Common/Common/functionphp,这个文档可以专门放置一些通用的方法,在哪里都可以调用(如:Controller文件,View文件等)。
二、调用分页方法
$m=M('products');
$p=getpage($m,$where,10);
$list=$m->field(true)->where($where)->order('id desc')->select();
$this->list=$list;
$this->page=$p->show();
再是View代码
<div class="pagination">
{$page}
</div>
三、最后就是分页的样式了,这个有些乱,因后台框架网上下载的,样式还没来的及整理,这个样式也可以自己实现,简单的。
pagination ul {
display: inline-block;
margin-bottom: 0;
margin-left: 0;
-webkit-border-radius: 3px;
-moz-border-radius: 3px;
border-radius: 3px;
-webkit-box-shadow: 0 1px 2px rgba(0,0,0,005);
-moz-box-shadow: 0 1px 2px rgba(0,0,0,005);
box-shadow: 0 1px 2px rgba(0,0,0,005);
}
pagination ul li {
display: inline;
}
pagination ul lirows {
line-height: 30px;
padding-left: 5px;
}
pagination ul lirows b{color: #f00}
pagination ul li a, pagination ul li span {
float: left;
padding: 4px 12px;
line-height: 20px;
text-decoration: none;
background-color: #fff;
background: url('/images/bottom_bgpng') 0px 0px;
border: 1px solid #d3dbde;
/border-left-width: 0;/
margin-left: 2px;
color: #08c;
}
pagination ul li a:hover{
color: red;
background: #0088cc;
}
pagination ul lifirst-child a, pagination ul lifirst-child span {
border-left-width: 1px;
-webkit-border-bottom-left-radius: 3px;
border-bottom-left-radius: 3px;
-webkit-border-top-left-radius: 3px;
border-top-left-radius: 3px;
-moz-border-radius-bottomleft: 3px;
-moz-border-radius-topleft: 3px;
}
pagination ul disabled span, pagination ul disabled a, pagination ul disabled a:hover {
color: #999;
cursor: default;
background-color: transparent;
}
pagination ul active a, pagination ul active span {
color: #999;
cursor: default;
}
pagination ul li a:hover, pagination ul active a, pagination ul active span {
background-color: #f0c040;
}
pagination ul lilast-child a, pagination ul lilast-child span {
-webkit-border-top-right-radius: 3px;
border-top-right-radius: 3px;
-webkit-border-bottom-right-radius: 3px;
border-bottom-right-radius: 3px;
-moz-border-radius-topright: 3px;
-moz-border-radius-bottomright: 3px;
}
pagination ul licurrent a{color: #f00 ;font-weight: bold; background: #ddd}html 前端分页代码怎么写,纯JavaScript实现的前端分页代码 转载
2021-06-19 11:07:20
守望之鹰
码龄3年
关注
最近我遇到问题,就是控制table表格的行不要太长,这里最简单方便的方法就是用前端分页,控制表格显示的行数,在网上找了一番,终于找到一个比较合适的前端分页代码。示例如下:
html代码:
//全局变量
var numCount; //数据总数量
var columnsCounts; //数据列数量
var pageCount; //每页显示的数量
var pageNum; //总页数
var currPageNum ; //当前页数
//页面标签变量
var blockTable;
var preSpan;
var firstSpan;
var nextSpan;
var lastSpan;
var pageNumSpan;
var currPageSpan;
windowοnlοad=function(){
//页面标签变量
blockTable = documentgetElementById("blocks");
preSpan = documentgetElementById("spanPre");
firstSpan = documentgetElementById("spanFirst");
nextSpan = documentgetElementById("spanNext");
lastSpan = documentgetElementById("spanLast");
pageNumSpan = documentgetElementById("spanTotalPage");
currPageSpan = documentgetElementById("spanPageNum");
numCount = documentgetElementById("blocks")rowslength - 1; //取table的行数作为数据总数量(减去标题行1)
alert(numCount);
columnsCounts = blockTablerows[0]cellslength;
pageCount = 5;
pageNum = parseInt(numCount/pageCount);
if(0 != numCount%pageCount){
pageNum += 1;
}
firstPage();
};可使用占位符从数据集中的字段导入HTML以在分页报表中使用。
可使用占位符从数据集中的字段导入HTML以在分页报表中使用。默认情况下,占位符表示纯文本,因此需要将占位符的标记类型改为HTML。
分页是指在web页面有大量数据需要显示时,当一页的内容太多不利于阅读和不利于数据提取的情况下,可以分为多页进行显示。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)