欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

详解ajax +jtemplate实现动态分页

程序员文章站 2023-11-09 19:21:58
jtemplate是一个基于jquery的模板引擎插件,功能非常强大,有了她你就再不用为使用js绑定数据集而发愁了。 主要思路,复制textarea作为模板,ajax...

jtemplate是一个基于jquery的模板引擎插件,功能非常强大,有了她你就再不用为使用js绑定数据集而发愁了。

主要思路,复制textarea作为模板,ajax加载json数据,添加模板,绑定数据,更新加载更多事件。

//加载更多

function fnload(data){
listdata.ajax.data.target_page=parseint(data.currentpage)+1;
function addmore(){
listdata.ajax.load();
}
//动态变换加载更多标签
if(data.totalnums == 0){
$(“#loadobj”).addclass(“font-disable”).html(“还没有录入数据!”).unbind(“click”);
}
if(data.hasnext){
$(“#loadobj”).html(“加载更多”);
if(data.currentpage==1){
$(“#loadobj”).bind(“click”,addmore);
}
}else{
$(“#loadobj”).addclass(“font-disable”).html(“已经是最底端了!”).unbind(“click”);
}
}
//ajaxcallback
function callbacklist(data){
var nexthtml = $(‘#listtemplate').prop(“outerhtml”);
var $listobj = listpage==0? ‘#listobj' : ‘#listobj'+listpage;
var $nextlistobj = ‘listobj'+(listpage+1);
$($listobj).settemplateelement(‘listtemplate',null,{filter_data: false});
$($listobj).setparam(“imgdomain”, roomimgdomain);
$($listobj).processtemplate(data);
$($listobj).after($(‘<div></div>',{
id:$nextlistobj,
class:'list-wrap'
})
);
$(‘#'+$nextlistobj).append(nexthtml);
listpage++;
var $firsth3 = $(“#listobj .view-box:first h3″);
$firsth3.next().show();
$firsth3.find(“span”).addclass(“h3-up”).removeclass(“h3-down”);
fnload(data);
}
});
}
//ajax
$ajax.prototype.load = function(){
var _this = this;
$.ajax({
type: “post”,
url: _this.url,
datatype:'json',
data: _this.data,
success: function(data){
if(_this.callback){
_this.callback(data, _this.id);
}else{
//console.log(“ajax未定义回调函数!”);
}
},
error:function(){
//console.log(“ajaxerror”);
}
});
}
 

//调用

function fnlistajax(){
this.ajax = new $ajax();
this.ajax.url = “”;
this.ajax.data = {};
}
var listdata = new fnlistajax();
fnajax();
function fnajax(){
listdata.ajax.url = datadomain+”/advert/detail.htm”;
listdata.ajax.data = {
code:'index_web'
};
listdata.ajax.callback = fncallbackview;
listdata.ajax.load();
};

以上内容给大家分享了ajax +jtemplate实现动态分页,希望大家喜欢。