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的投票系统显示结果插件
Aug 12 Javascript
Js点击弹出下拉菜单效果实例
Aug 12 Javascript
from表单多个按钮提交用onclick跳转不同action
Apr 24 Javascript
使用不同的方法结合/合并两个JS数组
Sep 18 Javascript
Js实现自定义右键行为
Mar 26 Javascript
JavaScript中的函数嵌套使用
Jun 04 Javascript
利用vueJs实现图片轮播实例代码
Jun 03 Javascript
利用ES6的Promise.all实现至少请求多长时间的实例
Aug 28 Javascript
javascript使用正则实现去掉字符串前面的所有0
Jul 23 Javascript
vue项目中跳转到外部链接的实例讲解
Sep 20 Javascript
vue.js+ElementUI实现进度条提示密码强度效果
Jan 18 Javascript
JavaScript使用canvas绘制坐标和线
Apr 28 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递归调用与静态变量使用
2012/12/16 PHP
php弹出对话框实现重定向代码
2014/01/23 PHP
强制PHP命令行脚本单进程运行的方法
2014/04/15 PHP
thinkphp集成前端脚手架Vue-cli的教程图解
2018/08/30 PHP
Laravel6.2中用于用户登录的新密码确认流程详解
2019/10/16 PHP
从Ajax到JQuery Ajax学习
2007/02/14 Javascript
记录几个javascript有关的小细节
2007/04/02 Javascript
js post方式传递提交的实现代码
2010/05/31 Javascript
jquery nth-child()选择器的简单应用
2010/07/10 Javascript
从URL中提取参数与将对象转换为URL查询参数的实现代码
2012/01/12 Javascript
javascript常用的方法分享
2015/07/01 Javascript
利用Javascript实现BMI计算器
2016/08/16 Javascript
js拖拽功能实现代码解析
2016/11/28 Javascript
HTML5实现微信拍摄上传照片功能
2017/04/21 Javascript
jQuery树插件zTree使用方法详解
2017/05/02 jQuery
JavaScript引用类型Function实例详解
2018/08/09 Javascript
layui问题之自动滚动二级iframe页面到指定位置的方法
2019/09/18 Javascript
JS+CSS实现随机点名(实例代码)
2019/11/04 Javascript
vue 判断元素内容是否超过宽度的方式
2020/07/29 Javascript
[00:32]DOTA2上海特级锦标赛 COL战队宣传片
2016/03/04 DOTA
利用Python命令行传递实例化对象的方法
2016/11/02 Python
Python 网页解析HTMLParse的实例详解
2017/08/10 Python
python利用OpenCV2实现人脸检测
2020/04/16 Python
Python Selenium Cookie 绕过验证码实现登录示例代码
2018/04/10 Python
django中模板的html自动转意方法
2018/05/27 Python
python实现给scatter设置颜色渐变条colorbar的方法
2018/12/13 Python
python各层级目录下import方法代码实例
2020/01/20 Python
python的flask框架难学吗
2020/07/31 Python
解决tensorflow模型压缩的问题_踩坑无数,总算搞定
2021/03/02 Python
利用Storage Event实现页面间通信的示例代码
2018/07/26 HTML / CSS
英格兰橄榄球商店:England Rugby Store
2016/12/17 全球购物
奇怪的鱼:Weird Fish
2018/03/18 全球购物
护理学院专科毕业生求职信
2014/06/28 职场文书
医院领导班子查摆问题对照检查材料思想汇报
2014/10/08 职场文书
士兵突击观后感
2015/06/16 职场文书
Python数据处理的三个实用技巧分享
2022/04/01 Python