详解ajax +jtemplate实现动态分页
jtemplate是一个基于JQuery的模板引擎插件,功能非常强大,有了她你就再不用为使用JS绑定数据集而发愁了。
主要思路,复制textarea作为模板,ajax加载json数据,添加模板,绑定数据,更新加载更多事件。
//加载更多 functionfnLoad(data){ listData.Ajax.data.target_page=parseInt(data.currentPage)+1; functionaddmore(){ 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 functioncallBackList(data){ varnextHtml=$(‘#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:firsth3″); $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”); } }); } //调用 functionfnListAjax(){ this.Ajax=new$Ajax(); this.Ajax.url=“”; this.Ajax.data={}; } varlistData=newfnListAjax(); fnAjax(); functionfnAjax(){ listData.Ajax.url=dataDomain+”/advert/detail.htm”; listData.Ajax.data={ code:'index_web' }; listData.Ajax.callBack=fnCallBackView; listData.Ajax.load(); };
以上内容给大家分享了ajax+jtemplate实现动态分页,希望大家喜欢。