欢迎来到福编程网,本站提供各种互联网专业知识!

详解ajax +jtemplate实现动态分页

发布时间:2015-09-16 作者:冥冥之罪 来源:转载
jtemplate是一个基于JQuery的模板引擎插件,功能非常强大,有了她你就再不用为使用JS绑定数据集而发愁了。本文给大家分享ajax+jtemplate实现动态分页,需要的朋友可以参考下本文

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(“还没有录入数据1).unbind(“click”);
}
if(data.hasNext){
$(“#loadOBj”).html(“加载更多”);
if(data.currentPage==1){
$(“#loadOBj”).bind(“click”,addmore);
}
}else{
$(“#loadOBj”).addClass(“font-disable”).html(“已经是最底端了1).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($(‘
',{ 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未定义回调函数1); } }, 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实现动态分页,希望大家喜欢。

相关推荐