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 相关文章推荐
翻译整理的jQuery使用查询手册
Mar 07 Javascript
THREE.JS入门教程(1)THREE.JS使用前了解
Jan 24 Javascript
JavaScript伸缩的菜单简单示例
Dec 03 Javascript
使用JQUERY进行后台页面布局控制DIV实现左右式
Jan 07 Javascript
javascript下拉列表菜单的实现方法
Nov 18 Javascript
jQuery双向列表选择器DIV模拟版
Nov 01 Javascript
JavaScript取得gridview中获取checkbox选中的值
Jul 24 Javascript
React Native中NavigatorIOS组件的简单使用详解
Jan 27 Javascript
vue项目搭建以及全家桶的使用详细教程(小结)
Dec 19 Javascript
js/jquery遍历对象和数组的方法分析【forEach,map与each方法】
Feb 27 jQuery
js实现div色块碰撞
Jan 16 Javascript
小程序自定义圆形进度条
Nov 17 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
利用PHP制作简单的内容采集器的代码
2007/11/28 PHP
set_exception_handler函数在ThinkPHP中的用法
2014/10/31 PHP
PHP 实现的将图片转换为TXT
2015/10/21 PHP
理清PHP在Linxu下执行时的文件权限方法
2017/06/07 PHP
防止动态加载JavaScript引起的内存泄漏问题
2009/10/08 Javascript
extjs grid设置某列背景颜色和字体颜色的实现方法
2010/09/06 Javascript
二叉树先序遍历的非递归算法具体实现
2014/01/09 Javascript
javascript事件委托的方式绑定详解
2015/06/10 Javascript
解决JS请求服务器gbk文件乱码的问题
2015/10/16 Javascript
jquery+CSS3实现3D拖拽相册效果
2016/07/18 Javascript
类似于QQ的右滑删除效果的实现方法
2016/10/16 Javascript
jQuery学习笔记之入门
2016/12/14 Javascript
jQuery基于ajax方式实现用户名存在性检查功能示例
2017/02/10 Javascript
浅谈angular2 组件的生命周期钩子
2017/08/12 Javascript
js原生日历的实例(推荐)
2017/10/31 Javascript
解决使用vue.js路由后失效的问题
2018/03/17 Javascript
一些手写JavaScript常用的函数汇总
2019/04/16 Javascript
解决vuex刷新状态初始化的方法实现
2019/08/15 Javascript
Vue实现购物车详情页面的方法
2019/08/20 Javascript
微信小程序抽奖组件的使用步骤
2021/01/11 Javascript
Python 实现网页自动截图的示例讲解
2018/05/17 Python
python实现自动登录后台管理系统
2018/10/18 Python
python 实现调用子文件下的模块方法
2018/12/07 Python
python的移位操作实现详解
2019/08/21 Python
python实现批量处理将图片粘贴到另一张图片上并保存
2019/12/12 Python
Python基于Tensor FLow的图像处理操作详解
2020/01/15 Python
python 计算方位角实例(根据两点的坐标计算)
2020/01/17 Python
Python DES加密实现原理及实例解析
2020/07/17 Python
软件生产职位结构化面试主要考察要素及面试题库
2015/06/12 面试题
内刊编辑求职自荐书范文
2014/02/19 职场文书
党的群众路线教育实践活动心得体会
2014/03/03 职场文书
交通事故委托书范本精选
2014/10/04 职场文书
公安交警中队队长个人对照检查材料思想汇报
2014/10/05 职场文书
2014年小学语文工作总结
2014/12/20 职场文书
MySQL中distinct与group by之间的性能进行比较
2021/05/26 MySQL
一文了解JavaScript用Element Traversal新属性遍历子元素
2021/11/27 Javascript