html代码
<!--收到的消息-->
<div id="content2" class="tabscontent">
<div class="user_ques">
<volist name="list" id="vo" key="k">
<div class="q_message">
<span class="q_tiwen">新消息{$k}:<a href="">{$vo.titlel}</a></span>
</div>
</volist>
</div>
<div class="flickr" id="page">{$page}</div>
</div>
js代码
//收到的消息
$("#page a").live('click',function(){
var pageObj = this;
//获取当前对象的网址
var url = pageObj.href;
var a = url.lastIndexOf("p");
var s = url.substring(a);
$("#page").hide();
$.ajax({
type:'get',
url:"__URL__/mes/"+s,
success:function(res){
$("#content2").children(".user_ques").html(res);
}
})
return false;
})
PHP代码
//收到的消息
public function mes(){
//收到的消息实现ajax无刷新分页
import("ORG.Util.Page");
$question = M('question'); // 实例化User对象
$id = $_SESSION["homeUser"]["user_id"];
$Page = new Page($question->where("user_id={$id}")->count(),3);
$show = $Page->show();// 分页显示输出
// 进行分页数据查询 注意limit方法的参数要使用Page类的属性
$list = $question->limit($Page->firstRow.','.$Page->listRows)->select();
if(IS_AJAX){
$this->assign('list',$list);// 赋值数据集
$this->assign('page',$show);// 赋值分页输出
$html = $this->fetch('./ajaxPage'); //获取需要的信息
$this->ajaxReturn($html);
}
$this->assign('list',$list);// 赋值数据集
$this->assign('page',$show);// 赋值分页输出
$this->display('./message');
}
ajaxPage.html
<div class="user_ques">
<volist name="list" id="vo" key="k">
<div class="q_message">
<span class="q_tiwen">新消息{$k}:<a href="">{$vo.titlel}</a></span>
</div>
</volist>
</div>
<div class="flickr" id="page">{$page}</div>
它的基本原理是第一次显示是原来正常的一个样式,当你单击分页下标时,它会判断是否是ajax请求,如果是就加载一个已经准备好与原来一样的页面,如果不是加载的还是原来的页面。