ThinkPHP+jquery实现“加载更多”功能代码


Posted in Javascript onMarch 11, 2017

ThinkPHP+jQuery实现“加载更多”

在很多web端界面中都会用到点击按钮加载最新几条数据的demo,下例为使用thinkphp+jquery实现实例:

ThinkPHP+jquery实现“加载更多”功能代码

要实现的结果大致如下

第一步

模板文件

<!--软件-->
      <div class="lists switcher-panel switcher-panel-cur">
        <ul class="xinhao">
          {volist name="apps" id="vo"}
          <li class="app-item link">
            <div class="list-img">
              <img src="/public/static/images/{$vo.Pic}" alt=""></div>
            <div class="list-cont">
              <div class="lt-c-tit">
                <h2>
                  <a href="#nogo" rel="external nofollow" rel="external nofollow" >{$vo.AppName}</a></h2>
                <span>8.59MB</span></div>
              <div class="lt-c-s-n">
                <div class="lt-c-s-n-l">
                  <div class="star">
                    <p style="width: 73%;"></p>
                  </div>
                </div>
                <span>{$vo.DownloadCount}万次下载</span></div>
            </div>
            <div class="btns">
              <a class="dl-btn js-downloadBtn" href="http://shouji.360tpcdn.com/170214/5aeae868026625e95b389b357fbdd186/com.ss.android.article.video_116.apk" rel="external nofollow" >
                <span></span>下载</a>
            </div>
          </li>
          {/volist}
        </ul>
        <if condition="count($apps) eq 5">
          <div class="load-bar" id="loadmore">
            <a href="javascript:;" rel="external nofollow" class="user-pl-more-btn loadmore" data-type="1">加载更多</a>
          </div>
        </if>
        <div class="load-bar" id="tip">
        </div>
      </div>

第二步

后台文件

class Index
{
  //打印首页
  public function index()
  {
    $total=db('apps')->count();
    $apps=db('apps')->where('AppStatus',1)->limit(5)->order("AppID ASC")->select();
    //var_dump($apps);
    $view = new View();
    $view->assign('total',$total);
    $view->assign('apps',$apps);
    return $view->fetch('index');
  }

  public function data()
  {
    $start = Input('post.start');
    //echo($start);
    $list = db('apps')->limit($start, 5)->order('AppID asc')->select();
    return (array( 'result'=>$list,'status'=>1, 'msg'=>'获取成功!'));
  }

}

第三步

模板中的异步js

<script>
    //加载更多
    var nStart = 5;
    $('#loadmore').click(function() {
      var _this = $(".xinhao");
      if(nStart >= {$total}) {
        //alert('后面没有数据了!');
        $("#loadmore").text('没有数据了亲...').css({"border-top":"1px solid #d4d5d6","height":"30px","line-height":"30px"});
        return false;
      } else {
        $.post("{:url('Index/data')}", {start: nStart}, function(res) {
          $.each(res['result'], function(i, item) {
            _this.append('<li class="app-item link">\
              <div class="list-img">\
              <img src="/public/static/images/'+item.Pic+'"alt=""/></div>\
              <div class="list-cont">\
              <div class="lt-c-tit">\
              <h2>\
              <a href="#nogo" rel="external nofollow" rel="external nofollow" >'+item.AppName+'</a></h2>\
            <span>8.59MB</span></div>\
            <div class="lt-c-s-n">\
              <div class="lt-c-s-n-l">\
              <div class="star">\
              <p style="width: 73%;"></p>\
              </div>\
              </div>\
              <span>'+item.DownloadCount+'万次下载</span></div>\
            </div>\
            <div class="btns">\
              <a class="dl-btn js-downloadBtn" href="#" rel="external nofollow" >\
              <span></span>下载</a>\
              </div>\
              </li>');
          });
        });
        nStart += 5;
      }
    });
    </script>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
理解Javascript_07_理解instanceof实现原理
Oct 15 Javascript
jQuery使用动态渲染表单功能完成ajax文件下载
Jan 15 Javascript
Javascript简单实现可拖动的div
Oct 22 Javascript
jquery实现一个简单好用的弹出框
Sep 26 Javascript
JavaScript 链式结构序列化详解
Sep 30 Javascript
JavaScript中object和Object的区别(详解)
Feb 27 Javascript
JS实现求数组起始项到终止项之和的方法【基于数组扩展函数】
Jun 13 Javascript
Vue单文件组件基础模板小结
Aug 10 Javascript
ES6基础之解构赋值(destructuring assignment)
Feb 21 Javascript
layer页面跳转,获取html子节点元素的值方法
Sep 27 Javascript
JS实现数据动态渲染的竖向步骤条
Jun 24 Javascript
JavaScript实现复选框全选功能
Apr 11 Javascript
Bootstrap的Carousel配合dropload.js实现移动端滑动切换图片
Mar 10 #Javascript
基于Bootstrap框架实现图片切换
Mar 10 #Javascript
angularjs ui-router中路由的二级嵌套
Mar 10 #Javascript
AngularJS ui-router (嵌套路由)实例
Mar 10 #Javascript
微信小程序手势操作之单触摸点与多触摸点
Mar 10 #Javascript
Web纯前端“旭日图”实现元素周期表
Mar 10 #Javascript
微信小程序 MD5的方法详解及实例代码
Mar 10 #Javascript
You might like
如何给phpadmin一个保护
2006/10/09 PHP
解析htaccess伪静态的规则
2013/06/18 PHP
PHP实现的多维数组排序算法分析
2018/02/10 PHP
JS中彻底删除JSON对象组成的数组中的元素
2020/09/22 PHP
javascript判断单选框或复选框是否选中方法集锦
2007/04/04 Javascript
JS声明变量背后的编译原理剖析
2012/12/28 Javascript
Javascript弹出窗口的各种方法总结
2013/11/11 Javascript
JavaScript制作简易的微信打飞机
2015/03/31 Javascript
JavaScript实现强制重定向至HTTPS页面
2015/06/10 Javascript
jquery判断密码强度的验证代码
2020/04/22 Javascript
JavaScript获取对象在页面中位置坐标的方法
2016/02/03 Javascript
js模糊查询实例分享
2016/12/26 Javascript
Node.js的Mongodb使用实例
2016/12/30 Javascript
微信小程序(三):网络请求
2017/01/13 Javascript
Angular.Js中过滤器filter与自定义过滤器filter实例详解
2017/05/08 Javascript
jquery.uploadifive插件怎么解决上传限制图片或文件大小问题
2017/05/08 jQuery
Javarscript中模块(module)、加载(load)与捆绑(bundle)详解
2017/05/28 Javascript
详解VUE2.X过滤器的使用方法
2018/01/11 Javascript
稍微学一下Vue的数据响应式(Vue2及Vue3区别)
2019/11/21 Javascript
node.js使用mongoose操作数据库实现购物车的增、删、改、查功能示例
2019/12/23 Javascript
Jquery+AJAX实现无刷新上传并重命名文件操作示例【PHP后台接收】
2020/05/29 jQuery
[02:16]完美世界DOTA2联赛PWL S3 集锦第三期
2020/12/21 DOTA
Python的Django框架中的数据过滤功能
2015/07/17 Python
Django框架下在URLconf中指定视图缓存的方法
2015/07/23 Python
详解Python中的__getitem__方法与slice对象的切片操作
2016/06/27 Python
理论讲解python多进程并发编程
2018/02/09 Python
使用Python的SymPy库解决数学运算问题的方法
2019/03/27 Python
python使用PIL和matplotlib获取图片像素点并合并解析
2019/09/10 Python
如何在mac版pycharm选择python版本
2020/07/21 Python
Python爬虫+Tkinter制作一个翻译软件的示例
2021/02/20 Python
法国家具及室内配件店:home24
2017/01/21 全球购物
英国家具、照明、家居用品网上商店:Wayfair.co.uk
2020/02/13 全球购物
护士自我鉴定范文
2013/10/06 职场文书
师范学院毕业生求职信范文
2013/12/26 职场文书
离职报告范文
2014/11/04 职场文书
2014年教育培训工作总结
2014/12/08 职场文书