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 相关文章推荐
angularJS 中$scope方法使用指南
Feb 09 Javascript
jquery中toggle函数交替使用问题
Jun 22 Javascript
学习JavaScript正则表达式
Nov 13 Javascript
jQuery过滤选择器经典应用
Aug 18 Javascript
javascript函数中的3个高级技巧
Sep 22 Javascript
原生js实现可爱糖果数字时间特效
Dec 30 Javascript
分分钟玩转Vue.js组件(二)
Mar 01 Javascript
基于vue-ssr服务端渲染入门详解
Jan 08 Javascript
原生JS实现的碰撞检测功能示例
May 18 Javascript
vue拖拽排序插件vuedraggable使用方法详解
Aug 21 Javascript
移动端吸顶fixbar的解决方案详解
Jul 17 Javascript
详解vue+axios给开发环境和生产环境配置不同的接口地址
Aug 16 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使用feof()函数读文件的方法
2014/11/07 PHP
php中mail函数发送邮件失败的解决方法
2014/12/24 PHP
php自定义类fsocket模拟post或get请求的方法
2015/07/31 PHP
php blowfish加密解密算法
2016/07/02 PHP
php实现的中秋博饼游戏之绘制骰子图案功能示例
2017/11/06 PHP
docker-compose部署php项目实例详解
2019/07/30 PHP
PHP实现创建一个RPC服务操作示例
2020/02/23 PHP
初识javascript 文档碎片
2010/07/13 Javascript
兼容ie、firefox的图片自动缩放的css跟js代码分享
2012/01/21 Javascript
javascript实现3D变换的立体圆圈实例
2015/08/06 Javascript
jQuery实现带动画效果的多级下拉菜单代码
2015/09/08 Javascript
js实现下拉列表选中某个值的方法(3种方法)
2015/12/17 Javascript
在js中实现邮箱格式的验证方法(推荐)
2016/10/24 Javascript
AngularJS中run方法的巧妙运用
2017/01/04 Javascript
Mac下使用charles遇到的问题以及解决办法
2017/01/10 Javascript
layui实现左侧菜单点击右侧内容区显示
2019/07/26 Javascript
JavaScript使用表单元素验证表单的示例代码
2019/08/20 Javascript
Vue 3自定义指令开发的相关总结
2021/01/29 Vue.js
[02:09]EHOME夺得首届辉夜杯冠军—现场颁奖仪式
2015/12/28 DOTA
[01:00:30]TFT vs VGJ.T Supermajor 败者组 BO3 第一场 6.5
2018/06/06 DOTA
Python实现在Linux系统下更改当前进程运行用户
2015/02/04 Python
详解python之简单主机批量管理工具
2017/01/27 Python
详解Python3 中hasattr()、getattr()、setattr()、delattr()函数及示例代码数
2018/04/18 Python
利用Python对文件夹下图片数据进行批量改名的代码实例
2019/02/21 Python
Python预测2020高考分数和录取情况
2020/07/08 Python
详解Python+Selenium+ChromeDriver的配置和问题解决
2021/01/19 Python
20行代码教你用python给证件照换底色的方法示例
2021/02/05 Python
关于css兼容性问题及一些常见问题汇总
2016/05/03 HTML / CSS
利用CSS3实现开门效果实例源码
2016/08/22 HTML / CSS
特罗佩亚包官方网站:Tropea
2017/01/03 全球购物
Vans荷兰官方网站:美国南加州的原创极限运动潮牌
2018/01/23 全球购物
英国珠宝网站Argento: PANDORA、Olivia Burton和Nomination等
2020/05/08 全球购物
内衣营销方案
2014/03/15 职场文书
2015年党风廉政建设工作总结
2015/04/09 职场文书
2015大学迎新晚会主持词
2015/07/16 职场文书
Windows7下FTP搭建图文教程
2022/08/05 Servers