ThinkPHP+jquery实现“加载更多”
在很多web端界面中都会用到点击按钮加载最新几条数据的demo,下例为使用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">{$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">
<span></span>下载
</a>
</div>
</li>
{/volist}
</ul>
<if condition="count($apps) eq 5">
<div class="load-bar" id="loadmore">
<a href="javascript:;" 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();
$view = new View();
$view->assign(
'total',
$total);
$view->assign(
'apps',
$apps);
return $view->fetch(
'index');
}
public function
data()
{
$start = Input(
'post.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}) {
$("#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">'+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="#">\
<span></span>下载</a>\
</div>\
</li>');
});
});
nStart += 5;
}
});
</script>
转载请注明原文地址: https://ju.6miu.com/read-23960.html