移动端分页


1.微信扫描网站入口二维码,进入移动端

2.点击“加载更多”按钮,实现移动端分页功能,目的减少客户等待时间以及节省流量(一次性加载全部数据,数据量大时会导致页面等待时间过长和不必要的流量浪费)

3.原理流程:ajax将form表单数据以及当前页面加1组装为数组转到后台,后台做分页查询,将结果组装到jsonArray中再传到前台,前台在ajax中用js代码将传来的数据也原来的列表页面进行组装,追加到原有列表后面。

4.核心代码:

  1> 加载更多按钮和页码隐藏域 

<#if gTotalPageNumber != gCurrentPageNumber>
			<li class="more" onclick="moreAbility()">加载更多</li>
			<li class="noMore" style="display:none;">没有更多</li>
			<#else>
			<li class="more" style="display:none;" onclick="moreAbility()">加载更多</li>
			<li class="noMore">没有更多</li>
		</#if>
		<input type="hidden" id="gCurrentPageNumber" value="${gCurrentPageNumber}" />
		<input type="hidden" id="gTotalPageNumber" value="${gTotalPageNumber}" />

  2> ajax   

 function moreAbility(){
        var gCurrentPageNumber = parseInt($("#gCurrentPageNumber").val()) + 1;
        var url = "${Context}/mobile/testing/moreInstitutions.action";
     //序列化form表单,得到的是组数对象 var dataobj = $('#search').serialize();
     //拼接页码 dataobj+="
&gCurrentPageNumber="+ gCurrentPageNumber; var url = "${Context}/mobile/testing/moreAbility.action"; $.ajax({ url:url, async : false, type: "POST", data: dataobj, success: function(result) { var resultJson = eval('('+result+')') ; var cuserList = resultJson.cuserList; for(var i = 0; i < cuserList.length; i++){ var divPDom = document.createElement("div"); divPDom.setAttribute("class","nengli_list"); var divTitleDom = document.createElement("div"); divTitleDom.setAttribute("class","nengli_list_title"); divTitleDom.innerHTML = cuserList[i].unitName; divPDom.appendChild(divTitleDom); var divTextDom = document.createElement("div"); divTextDom.setAttribute("class","nengli_list_text content"); divTextDom.innerHTML = "检测范围:"+cuserList[i].detectionRange; divPDom.appendChild(divTextDom); //加载到li标签前面,li标签是“加载更多“按钮 $("li").eq(-2).before(divPDom); } $("#gCurrentPageNumber").val(resultJson.gCurrentPageNumber); $("#gTotalPageNumber").val(resultJson.gTotalPageNumber); if(resultJson.gCurrentPageNumber == resultJson.gTotalPageNumber){ $(".more").css("display","none"); $(".noMore").css("display",""); } }, error:function(XMLHttpRequest){ alert("操作失败,请重试!"); } }); }

   3> 组装后台数据 

     //能力查询 加载更多
	public String moreAbility() throws Exception{
          //分页数据查询 abilityQuery(); JsonObject jsonObj = new JsonObject(); jsonObj.addProperty("gCurrentPageNumber", super.gCurrentPageNumber); jsonObj.addProperty("gTotalPageNumber", super.gTotalPageNumber); JsonArray jsonArray = new JsonArray(); for (int i = 0; i < cuserList.size(); i++) { JsonObject tempObj = new JsonObject(); tempObj.addProperty("unitName", cuserList.get(i).getUnitName() == null ?"":cuserList.get(i).getUnitName()); tempObj.addProperty("detectionRange", cuserList.get(i).getDetectionRange() == null ?"":cuserList.get(i).getDetectionRange()); jsonArray.add(tempObj); } jsonObj.add("cuserList", jsonArray); new Struts2Util().ResponsePrint(jsonObj.toString()); return null; }

  


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM