This article shares the specific code of the dropload plug-in to pull down and load data for your reference. The specific content is as follows
Reproduction image:
1. Import js
dropload.min.js
zepto.min.js <!-- Choose one of jQuery1.7 or above or Zepto, do not quote them at the same time->
2. Backend query
/** * I looked for * * @return */ @Action("IFindTicket") public String IFindTicket() { try { FuTransaction transaction = fuTransactionService.findByUserId(userId); Map<String, Object> map = new HashMap<String, Object>(); map.put("transactionId", transaction == null ? 0L : transaction.getId()); List<FuStockAccount> accounts = fuStockAccountService.findAccountByMap(0, 5, map); this.getActionContext().put("accounts", accounts); } catch (Exception e) { e.printStackTrace(); logger.equals(e); } return SUCCESS; } /** * The data I'm looking for* * @return */ @Action("findTicketData") public String findTicketData() { try { FuTransaction transaction = fuTransactionService.findByUserId(userId); Map<String, Object> map = new HashMap<String, Object>(); map.put("transactionId", transaction == null ? 0L : transaction.getId()); List<FuStockAccount> accounts = fuStockAccountService.findAccountByMap(0, Integer.MAX_VALUE, map); JSONObject json = new JSONObject(); JSONArray array = new JSONArray(); if (accounts.size() > 0) { for (FuStockAccount account : accounts) { JSONObject obj = new JSONObject(); obj.put("id", account.getId()); obj.put("openEquity", account.getOpenEquity()); obj.put("capitalAccount", account.getCapitalAccount()); obj.put("transactionStatus", account.getTransactionStatus()); obj.put("status", account.getTransactionStatus()); obj.put("status", account.getTransactionStatus() == 0 ? "Operating" : "Retreated"); obj.put("available", new DecimalFormat("#,###,##0.00").format(account.getAvailable() == null ? 0 : account.getAvailable())); obj.put("ableMoney", new DecimalFormat("#,###,##0.00").format(account.getAbleMoney() == null ? 0 : account.getAbleMoney())); obj.put("createTime", new SimpleDateFormat("yyyy.MM.dd").format(account.getCreateTime())); array.add(obj); } } json.put("array", array); write(json.toString()); } catch (Exception e) { e.printStackTrace(); logger.error(e); } return null; }3. Use of page plug-ins
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="X-UA-Compatible" content="IE=Edge"><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><meta name="viewport" content="width=device-width; initial-scale=1.0"><meta name="viewport" content="width=device-width,height=device-height,inital-scale=1.0,maximum-scale=1.0,user-scalable=no;"><meta name="apple-mobile-web-app-capable" content="yes"><meta name="apple-mobile-web-app-status-bar-style" content="black"><meta name="format-detection" content="telephone=no"><%@ include file="../common/meta.jsp" %><%@ include file="/WEB-INF/include/tagtld.jsp"%><title>${title}-The voucher I found</title><%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><%@ include file="../common/css.jsp"%></head><body> <div > <div> <div> <!-- List--> <div> <table cellpadding="0" cellpacing="0"> <c:forEach items="${accounts }" var="stock"> <tr> <td> <div> <span>${stock.openEquity }:${stock.capitalAccount}<%-- ***${fn:substring(stock.capitalAccount,3,5)} --%></span> <c:if test="${stock.transactionStatus==0 }"> <a>Operating</a> </c:if> <c:if test="${stock.transactionStatus==1 }"> <a>Refunded</a> </c:if> </div> <div> <div> <span>Stock Market Value: <fmt:formatNumber value="${empty stock.available?0:stock.available}" pattern="#,###,##0.00"/> Yuan</span><span>Available funds: <fmt:formatNumber value="${empty stock.ableMoney?0:stock.ableMoney}" pattern="#,###,##0.00"/> Yuan</span> </div> <div><a href="${ctx}/wxyqb/accountInfo.htm?id=${stock.id}"><img src="../images_yqb/mejtou.png"/></a></div> </div> <div>Published on: <fmt:formatDate value="${stock.createTime }" pattern="yyyyy.MM.dd"//</div> </td> </td> </tr> </c:forEach> </table> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div></body><link href="../css/wxYqb.css" rel="stylesheet" type="text/css" /><script src="${ctx}/js/dropload.min.js" type="text/javascript"></script></html><script>//Dropload more $(function(){ var counter = 1; // Show 5 var nums per page = 5; var pageStart = 0,pageEnd = 0; // dropload $('.findTicList').dropload({ scrollArea : window, domUp : { domClass : 'dropload-up', domRefresh : '<div>↓ Pull-down refresh-custom content</div>', domUpdate : '<div>↑Release update-custom content</div>', domLoad : '<div><span></span>Loading-custom content...</div>' }, domDown : { domClass : 'dropload-down', domRefresh : '<div>↑ to load more</div>', domLoad : '<div><span></span>Loading...</div>', domNoData : '<div>No more comments</div>' }, loadUpFn : function(me){ $.ajax({ type: 'POST', url: '${ctx}/wxyqb/findTicketData.htm', data: {userId: ${fuUser.id}}, dataType: 'json', success: function(data){ var result = ''; for(var i = 0; i < data.array.length; i++){ var arrText = []; arrText.push(" <tr><td class='smallSize firstTd'>"); arrText.push("<div class='upTh'><span class='blueCol siz'>"+data.array[i].openEquity+":"+data.array[i].openEquity+"</span>"); if(data.array[i].transactionStatus==0){ arrText.push("<a class='czIng'>"+data.array[i].status+"</a></div>"); } if(data.array[i].transactionStatus==1){ arrText.push("<a class='bacIng'>"+data.array[i].status+"</a></div>"); } arrText.push("<div class='downLis'><div class='leftDown'><span class='leftDoFir'>Stock Market Value: "+data.array[i].available+"yuan</span></div>"); arrText.push("<div class='rgtDown'><a href='${ctx}/wxyqb/accountInfo.htm?id="+data.array[i].id+"'><img class='lftJt' src='../images_yqb/mejtou.png'///</a></div></div>"); arrText.push("<div class='ticketDat'>Published: "+data.array[i].createTime+"</div></td></tr>"); result += arrText.join(''); } // For testing, delay 1 second loading setTimeout(function(){ $('.findTicIn').html(result); // Each time the data is loaded, me.resetload() must be reset; },1000); }, error: function(xhr, type){ alert('Ajax error!'); // Even if a load error occurs, me.resetload() must be reset; } }); }, loadDownFn : function(me){ $.ajax({ type: 'POST', url: '${ctx}/wxyqb/findTicketData.htm', data: {userId: ${fuUser.id}}, dataType: 'json', success: function(data){ var length=data.array.length; //Judge whether there is data if(length==0){ $(".dropload-down").hide(); }else if(length<=5){ $(".dropload-down").hide(); }else{ $(".dropload-load").show(); var result = ''; counter++; pageEnd = num * counter; pageStart = pageEnd - num; for(var i = pageStart; i < pageEnd; i++){ var arrText = []; arrText.push(" <tr><td class='smallSize firstTd'>"); arrText.push("<div class='upTh'><span class='blueCol siz'>"+data.array[i].openEquity+":"+data.array[i].openEquity+"</span>"); if(data.array[i].transactionStatus==0){ arrText.push("<a class='czIng'>"+data.array[i].status+"</a></div>"); } if(data.array[i].transactionStatus==1){ arrText.push("<a class='czIng'>"+data.array[i].status+"</a></div>"); } if(data.array[i].transactionStatus==1){ arrText.push("<a class='bacIng'>"+data.array[i].status+"</a></div>"); } arrText.push("<div class='downLis'><div class='leftDown'><span class='leftDoFir'>Stock market value: "+data.array[i].available+"yuan</span></div>"); arrText.push("<div class='rgtDown'><a href='${ctx}/wxyqb/accountInfo.htm?id="+data.array[i].id+"'><img class='lftJt' src='../images_yqb/mejtou.png'//// </a></div></div>"); arrText.push("<div class='ticketDat'>Published: "+data.array[i].createTime+"</div></td></tr>"); result += arrText.join(''); if((i + 1) >= data.array.length){ // Lock me.lock(); // No data me.noData(); break; } } // For testing, delay setTimeout(function(){ $('.findTicIn').append(result); // Every time the data is loaded, me.resetload() must be reset; },1000); };//if end },//success end error: function(xhr, type){ alert('Ajax error!'); // even if loading error occurs, me.resetload() must be reset; } });//ajax end},//pull up end threshold: 50 });//drop end});</script>The above is all the content of this article. I hope it will be helpful to everyone's learning and I hope everyone will support Wulin.com more.