用layer插件实现tp3.2的分页

主要需要用到  /layer/layer.js  这个,

现在一个tp前端视图/article/index.html

<!DOCTYPE html>
<html lang="en">

<head>
    <title>{$sys[‘sys_name‘]}</title>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />

    <link href="__PUBLIC__/Admin/css/bootstrap.min.css?v=3.3.5" rel="stylesheet">
    <link href="__PUBLIC__/Admin/css/font-awesome.min.css?v=4.1" rel="stylesheet">
    <link href="__PUBLIC__/Admin/css/plugins/iCheck/custom.css" rel="stylesheet">
    <link href="__PUBLIC__/Admin/css/plugins/chosen/chosen.css" rel="stylesheet">
    <link href="__PUBLIC__/Admin/css/plugins/colorpicker/css/bootstrap-colorpicker.min.css" rel="stylesheet">
    <link href="__PUBLIC__/Admin/css/plugins/cropper/cropper.min.css" rel="stylesheet">
    <link href="__PUBLIC__/Admin/css/plugins/switchery/switchery.css" rel="stylesheet">
    <link href="__PUBLIC__/Admin/css/plugins/jasny/jasny-bootstrap.min.css" rel="stylesheet">
    <link href="__PUBLIC__/Admin/css/plugins/nouslider/jquery.nouislider.css" rel="stylesheet">
    <link href="__PUBLIC__/Admin/css/plugins/datapicker/datepicker3.css" rel="stylesheet">
    <link href="__PUBLIC__/Admin/css/plugins/clockpicker/clockpicker.css" rel="stylesheet">
    <link href="__PUBLIC__/Admin/css/animate.min.css" rel="stylesheet">
    <link href="__PUBLIC__/Admin/css/style.min.css?v=4.0.0" rel="stylesheet">
    <link href="__PUBLIC__/Admin/css/uploadfile.css" rel="stylesheet">
    <script src="__PUBLIC__/Admin/js/jquery.min.js?v=2.1.4"></script>     //必须添加的js
    <script src="__PUBLIC__/Common/layer/layer.js"></script>          //必须添加的js
    <script src="__PUBLIC__/Admin/js/jquery.form.js"></script>
</head>
<style>
    .pages a,.pages span {
        display:inline-block;
        padding:4px 7px;
        margin:0 2px;
        border:1px solid #D5D4D4;
        -webkit-border-radius:1px;
        -moz-border-radius:1px;
        border-radius:1px;
    }
    .pages a,.pages li {
        display:inline-block;
        list-style: none;
        text-decoration:none; color:#077ee3;
    }

    .pages a:hover{
        border-color:#077ee3;
    }
    .pages span.current{
        background:#077ee3;
        color:#FFF;
        font-weight:700;
        border-color:#077ee3;
    }

    .long-tr th{
        text-align: center
    }
    .long-td td{
        text-align: center
    }
    .long-td:hover{ background:#f5f5f5}
</style>

    <body class="gray-bg wrapper wrapper-content">

        <div class="hr-line-dashed"></div>

                    <form id="leftnav" name="leftnav" method="post" action="" >
                        <table class="table table-bordered">
                            <script id="arlist" type="text/html">
                                {{# for(var i=0;i<d.length;i++){  }}
                                <tr class="long-td">
                                      <td>{{d[i].a_id}}</td>
                                </tr>
                                {{# } }}
                            </script>
                            <tbody id="article_list"></tbody>
                        </table>
                        </form>

                    <div id="AjaxPage" style=" text-align: right;"></div>
                    <div id="allpage" style=" text-align: right;"></div>
                    </div>

        <script type="text/javascript" src="__PUBLIC__/Common/laytpl/laytpl.js"></script>
    <script type="text/javascript" src="__PUBLIC__/Common/laypage/laypage.js"></script>

    <script type="text/javascript">
    //laypage分页
    function Ajaxpage(curr){

        $.post(‘{:U("Article/index")}‘, {
            page: curr || 1,
        }, function(data){
            if(data.list=null){
                $("#article_list").html(‘<center style="margin-top:300px;font-size:15px;">没有数据</center>‘);
            }else{
                article_list(data.info);
                laypage({
                    cont: $(‘#AjaxPage‘),//容器。值支持id名、原生dom对象,jquery对象,
                    pages:‘{$allpage}‘,//总页数
                    skip: true,//是否开启跳页
                    skin: ‘#1AB5B7‘,
                    curr: curr || 1,
                    groups: 4,//连续显示分页数
                    jump: function(obj, first){

                        if(!first){
                            Ajaxpage(obj.curr)
                        }
                        $(‘#allpage‘).html(‘第‘+ obj.curr +‘页,共‘+ obj.pages +‘页‘);
                    }
                });
            }
        });
    }
    Ajaxpage();

//接收异步获取的数据渲染到模板
function article_list(list){
    var tpl = document.getElementById(‘arlist‘).innerHTML;
    laytpl(tpl).render(list, function(html){
        document.getElementById(‘article_list‘).innerHTML = html;
    });
}

//状态

</script>
    </body>
</html>

然后有一个相对应的控制器,ArticleController.class.php

<?php
namespace Otcms\Controller;
use Think\Controller;
use Common\Controller\AuthController;
use Think\Auth;
class ArticleController extends AuthController {

    public function index(){

        $Nowpage = I("page")?I("page"):1;

        $limits = 10;// 获取总条数
        $count = M(‘article‘)->count();//计算总页面
        $allpage = ceil($count / $limits);
        $allpage = intval($allpage);

        $lists = M(‘article‘)->page($Nowpage, $limits)->order(‘a_id desc‘)->select();

        $this->assign(‘Nowpage‘, $Nowpage);
        $this->assign(‘allpage‘, $allpage);
        if(I("page")){

            $this->success($lists);
        }

        $this->display();
    }

}

这样就可以完成分页了

时间: 2024-08-08 09:35:06

用layer插件实现tp3.2的分页的相关文章

layer插件open方法回掉值问题

最近做项目需用到一个弹出层加载iframe页面的东西,首先想到layer插件,此插件用到过多次,兼容性很好,功能也强大,废话不多说上代码. 其实功能很简单,就是在目标页面选择一个值,回掉回来,说明一下主要的代码. $("#ChoiceBank").click(function () { var width = $("#content").css("Width"); layer.open({ type: 2, title: '开户银行选择', ar

用jQuery Validate+layer插件实现好看的表单提交效果

作为初学者,以前做表单验证都是自己写的,目的是让自己更好的了解代码,加深自己对javascript的理解,但是其实在很久都知道有一个很好用的表单验证插件:jQuery Validate.js,一直都没时间去自己敲了练习一下,今天终于忍不住想试一试这个插件. 1,首先引入必要的js文件 <script src="jquery-2.1.4/jquery.min.js"></script> <script src="jquery-validation-

layer插件学习——提示层

本文是自己整理的关于layer插件的提示层的结果 一.准备工作 下载jQuery插件和layer插件,并引入插件(注意:jQuery插件必须在layer插件之前引用) 百度云资源链接: jQuery插件:链接:https://pan.baidu.com/s/1P8wGff6UfVn5JaplH4uysw 密码:rms3 layer插件:链接:https://pan.baidu.com/s/1EuTF0DBY_azdQhcRCl0yBA 密码:xvjh 二.提示层测试 (1)官方案例: 默认关闭时

页面显示问题用layer插件

layer是一款近年来备受青睐的web弹层组件,这得益于她全方位的解决方案,并致力于服务各个水平段的开发人员,您的页面会轻松地拥有丰富友好的操作体验.她尽可能地在以更少的代码展现更强健的功能,且格外注重性能的提升.易用和实用性,layer兼容了包括IE6在内的所有主流浏览器. 她数量可观的接口,使得您可以自定义太多您需要的风格,每一种弹层模式各具特色,皆广受欢迎. 页面不够友好和页面样式不够统一可以使用(layer插件) 获得 layer 文件包后,解压并将 layer 整个文件夹(不要拆分结构

使用Layer插件遇到的坑——Layer弹出层闪退

一.前言 巨坑,基础没学好,导致找了一个下午的问题,终于被我发现了.说多都是泪,记录下来,以后有人遇到这个错误可以参考下 做项目期间做了几个页面,需要用到弹出层,为了方便使用到了Layer的插件,然后写点击事件在form表单中(第一个坑),接着,又使用button按钮(悲剧的开始),同样放在form表单下.想要的效果就是当我点击按钮的时候,就弹出层.(悲剧) 好了,巨坑开始,一开始页面打好之后,就放到SSM框架中,出现的问题一开始就是404地址找不到,使用绝对定位不行,浏览器报的错误一直是错误的

jQuery弹出层layer插件的使用

引入插件layer 触发弹出层的按钮/链接 <a href="javascript:showPop();"> <img src="" /> </a> 弹出层内容 <div style="display: none"> <div id="attention" style="text-align:left;max-height:5rem;overflow-y:scro

jQuery EasyUI插件使用之datagrid的分页功能使用备忘

官网:  http://www.jeasyui.com/index.php 对照这官网提供的demo以及api文档,慢慢摸索学习 首先是其中的datagrid插件,其中的分页功能 客户端相关属性配置: pagination     boolean 默认false  显示一个分页工具栏: true/false pagePosition  string  默认bottom 分页工具栏的位置:  'top','bottom','both' (下图就是在底部) pageNumber  number  默

使用jquery插件kkpager为页面添加分页

首先下载kkpager插件:https://github.com/pgkk/kkpager 1.将下载下来的js和css拷贝到项目中,在需要分页的页面引入kkpager插件所需的js和css,如下: <script type="text/javascript" src="js/kkpager.js"></script> <script type="text/javascript" src="js/jquer

MyBatis 插件使用-自定义简单的分页插件

目录 1 分页参数的传递 2 实现 Interceptor 接口 2.1 Interceptor 接口说明 2.1 注解说明 2.3 实现分页接口 PageInterceptor 3. 更改配置 4 测试 @ 作为一个优秀的框架, 其除了要解决大部分的流程之外, 还需要提供给使用者能够自定义的能力. MyBatis 有缓存, 有插件接口等.我们可以通过自定义插件的方式来对 MyBatis 进行使用上的扩展. 以一个简单的 mysql 分页插件为例, 插件的使用包含以下步骤: 1 分页参数的传递