效果:點擊加載更多搁拙,根據(jù)設(shè)定的加載條數(shù)顯示加載內(nèi)容筷转,全部加載完畢后加載更多按鈕消失。話不多說岭妖,直接上代碼。
html代碼:(這個樣式可以根據(jù)需求自定義)
<div id="news">
<div class="wrap">
<div class="l-wrap" id="list">
<notempty name="list">
<volist name="list" id="vo">
<div class="item">
<div class="pic">
<a href="__MODULE__/NewsInfos/index/id/{$vo.id}">
<p class="bg">
![](__PUBLIC__/images/news-btn.png)
</p>
<if condition="$vo['pic'] neq ''">
![](__ROOT__{$vo.pic})
<else />
暫無圖片
</if>
</a>
</div>
<div class="texts">
<a href="__MODULE__/NewsInfos/index/id/{$vo.id}">
<h3>{$vo.title}</h3>
</a>
<p class="p1"><span>{$vo.fabu_time}</span> 作者:<span>miss麥</span></p>
<p class="p2" id="content">
{$vo.content}
</p>
</div>
</div>
</volist>
</notempty>
</div>
</div>
</div>
<!-- 加載更多 -->
<div class="more"></div>
js代碼:
var page = 0;
$('.more').click(function() {
var n = $("#news .item").length;//當(dāng)前item個數(shù)
// alert(n);
page += 3;//點擊一次追加3條
$.ajax({
url:'{:U("News/more")}',
cache: false,
async: false,
data:{p:page,n:n},
dataType: "json",
type:"post",
success:function(datas){
var more_show = datas[0];
var data = datas[1];
var html='';
if (more_show == 1) {
$(".more").show();
}else{
$(".more").hide();
}
for (var i in data) { //循環(huán)遍歷
html +='<div class=\"item\">';
html +='<div class=\"pic\">';
html +='<a href=\"__MODULE__/NewsInfos/index/id/'+data[i].id+'\"> ';
html +='<p class="bg">';
html +='<img src=\"__PUBLIC__/images/news-btn.png\" />';
html +='</p>';
html +='<img src=\"__ROOT__'+data[i].pic+'\"> ';
html +='</a>';
html +='</div>';
html +='<div class=\"texts\">';
html +='<a href=\"__MODULE__/NewsInfos/index/id/'+data[i].id+'\"> ';
html +='<h3>'+data[i].title+'</h3>';
html +='</a>';
html +='<p class=\"p1\"><span>'+data[i].fabu_time+'</span> 作者:<span>miss涂麥</span></p>';
html +='<p class=\"p2\" id="content\">';
html +=data[i].content;
html +='</p>';
html +='</div>';
html +='</div>';
}
$('#list').append(html);//追加
}
});
});
PHP代碼:
public function more(){
$news = M('news');
$count =$news->count();
if(!empty($_POST['p'])){ //點擊加載更多
$p = $_POST['p'];//3 6 9
$n = $_POST['n'];
if (($p+$n)>=$count) {
$flag =0;
}else{
$flag =1;
}
$b= 3; //顯示條數(shù)
$list = $news->order('create_time desc')->limit($p,$b)->select();
$arr[0] = $flag;
$arr[1] = $list;
$arr.join();
$this->ajaxReturn($arr,'JSON');
}
}