所有分类
  • 所有分类
  • 后端开发
利用 SpringMVC 和 HTML5 技术,让手机网页底部下滑即可更新内容

利用 SpringMVC 和 HTML5 技术,让手机网页底部下滑即可更新内容

监听到该事件,执行加载更多内容的方法。前端代码需要用到jquery和zepto,大家在网上自己下载,下面是页面的代码:后端代码分为进入页面的初始化方法index和异步查询数据的方法query,具体代码如下:第一次滑动到底部上滑加载的内容:第

你有没有在手机上看网页,发现每次要换页都得拼命点“上一页”或者“下一页”?这样很麻烦,用着也不舒服。今天,我就教你一招,利用SpringMVC和HTML5技术,能让手机网页底部下滑就能更新内容。你往下划屏幕后,网站会自动给你加载更多内容,感觉是不是好多了?

一、为什么传统的分页方式在移动端不适用?

为啥?因为咱们现在用的那种在电脑上看网页时候的分页,在手机上就不太好用!手机屏幕小,每屏显示的东西也少了些,反复点”上一页”和”下一页”既麻烦又可能手抖点错,影响使用感受。再加上每次翻页都得重新加载,在网速慢的情况下,等得人心烦意乱,效率大打折扣。

怎么用SpringMVC和HTML5让手机体验更爽?

SpringMVC这个Java的MVC框架,能帮咱们搞定前后端。再加上HTML5,跟用户的互动就更自然!说到上滑加载更多内容这种效果,就用HTML5的滑动事件,配合JS(比如jQuery和Zepto)监测用户滑动,然后在滑动到底部时启动加载。

三、前端代码的实现细节

想要实现这个功能,前端得用上jQuery和Zepto这俩库。jQuery是个超级火的JavaScript库,能让咱们轻松搞定HTML文档的遍历呀、事件处理呀、动画呀啥的。而Zepto,就是专门给现代智能手机浏览器设计的JavaScript框架,虽然比jQuery小巧多了,但功能却毫不逊色,特别适合手机浏览啥的。咱家前端代码里得设个滑动手势,一看页面到底部了,立马开始加载新内容哈。









滑动到底部加载下一页内容
<script src="">
<script src="">

table {
	width:100%;
	padding:0 15px;
	background:#fff;
	border-collapse: collapse;
}
table td {
	padding: 6px 0;
	width:33%;
	border-bottom:1px solid #e1e1e1;
}
tr td:nth-child(2) {
	text-align: center;
}
tr td img {
	width: 24px;
	vertical-align: middle;
}
tr td:last-child {
	text-align: right;
}
td>div:first-child {
	/*margin-bottom: -6px;*/
}
td>div:last-child {
	color: #9C9C9C;
}




$(function(){ query('01');//第一次加载 }); function query(type) { alert(type); $.ajax({ url : "/query", data : { pageNo : $("#pageNo").val() }, cache : false, success : function(data) { loading=true; if(data==null) { $("#pageNo").val(parseInt($("#pageNo").val())-1); }else { var content=""; if(type=="00") { if(data.length==0) { $("#pageNo").val(parseInt($("#pageNo").val())-1); return ""; } for(var i=0;i<data.length;i++) { content=content + '' + '
'+data[i].id+'
'+data[i].time+'
' + '¥'+data[i].amount+'' + ''; } $("#wrapper").append(content); }else{ for(var i=0;i<data.length;i++) { content=content + '' + '
'+data[i].id+'
'+data[i].time+'
' + '¥'+data[i].amount+'' + ''; } $("#wrapper").html(content); } } }, error : function(){ loading=true; $("#pageNo").val(parseInt($("#pageNo").val())-1); _alert("查询数据出错啦,请刷新再试"); } }); } var loading=false; Zepto(function($){ $(window).scroll(function(){ if(($(window).scrollTop()+$(window).height()>$(document).height()-10)&&loading){ loading=false; $("#pageNo").val(parseInt($("#pageNo").val())+1); query("00"); } }); }) var ua = navigator.userAgent.toLowerCase(); if (/android/.test(ua)) { $('.date>div>img:last').css({"margin-left":"-25px"}); }

四、后端代码的支持

在后台,我们要用SpringMVC处理来自网页的异步请求,这主要包括两部分:第一就是创建新页面,其次就是处理AJAX查数据的活儿。当咱们接到了$Ajax请求的时候,后台得马上给个回应,去查找想要的信息,然后把它交还给网页。所以,我们的后台代码要快且稳,保证用户用起来不卡顿也不出错。

五、用户体验的提升体现在哪里?

package com.test.web.controller;
import java.util.ArrayList;
import java.util.List;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import com.test.web.dto.DataDto;
/**
 * 测试控制器
 * 
 * @author smile2014
 * 
 */
@Controller
public class TestController {
	/**
	 * 
	 * @return
	 */
	@RequestMapping("/")
	public String index() {
		return "test";
	}
	/**
	 * 查询订单列表
	 * 
	 * @param model
	 * @param openId
	 *            用户授权Id
	 * @return
	 * @throws Exception
	 */
	@RequestMapping(value = { "/query" })
	@ResponseBody
	public Object query(Model model, Integer pageNo) throws Exception {
		System.out.println("pageNo="+pageNo);
		if (pageNo == null) {
			pageNo = 1;
		}
		List datas = new ArrayList();
		for (int i = pageNo * 15; i < (pageNo + 1) * 15; i++) {
			DataDto data = new DataDto("10000" + i, "10:" + i, "17." + i);
			datas.add(data);
		}
		System.out.println("datas="+datas);
		return datas;
	}
}

这样一来,当你想查看更多东西时,只要往上滑动屏幕就好,不用老是点啊点或者等网页刷新。这样做既方便,又让你看得更过瘾!你能更好地关注文章和内容,不会因为那些麻烦事儿分心。

六、技术实施中的挑战与解决方案

package com.test.web.dto;
/**
 * 数据dto
 * 
 * @author smile2014
 * 
 */
public class DataDto {
	private String id;
	private String time;
	private String amount;
	public String getId() {
		return id;
	}
	public void setId(String id) {
		this.id = id;
	}
	public String getTime() {
		return time;
	}
	public void setTime(String time) {
		this.time = time;
	}
	public DataDto(String id, String time, String amount) {
		super();
		this.id = id;
		this.time = time;
		this.amount = amount;
	}
	public String getAmount() {
		return amount;
	}
	public void setAmount(String amount) {
		this.amount = amount;
	}
}

实施这个技术方案时,可能有点儿小困难,比如怎么精准地捕捉到你的滑动,怎样更快地加载数据,还有就是遇到异常要怎么办之类的问题。咱们得细心调好代码,优化算法,还要有应对异常的办法,这样才能保证系统稳定可靠!

七、未来的发展趋势与展望

现在大家手机越来越好使了,所以咱们对手机体验也就更高!滑动查看更多信息只是提升手机用户体验的一小步而已。以后,我们还能探索更多好玩儿的新科技,比如用机器学习猜你可能喜欢什么东西,或者用增强现实技术带给你更真实的浏览感觉。

利用 SpringMVC 和 HTML5 技术,让手机网页底部下滑即可更新内容

来数说家底,用SpringMVC和HTML5在手机上滑动便能加载更多内容,是个吆喝着能提升用户体验的绝佳办法。这样一来,简单两下就让用户的操作变得更舒心,而且数据加载速度也快得飞起,让大家看网页时感觉就像开了加速器似的。要是你对此有啥看法,欢迎在评论区畅所欲言,别忘了给我点个赞并分享出去!

原文链接:https://www.icz.com/technicalinformation/web/javascript/2024/06/16906.html,转载请注明出处~~~
0

评论0

请先
注意:请收藏好网址www.icz.com,防止失联!站内免费资源持续上传中…!赞助我们
显示验证码
没有账号?注册  忘记密码?