免费试用

中文化、本土化、云端化的在线跨平台软件开发工具,支持APP、电脑端、小程序、IOS免签等等

h5做的app如何手势返回

在移动应用的界面设计中,手势返回已经成为一种非常流行的方式。手势返回通常是在应用程序的子页面和内容页面之间进行操作,将最后一个页面从右往左滑动,就可以返回到上一个页面。本文将讨论在H5应用程序中如何实现手势返回的原理和详细介绍。

## 原理

手势返回的实现基本上依赖于两个要素:touch事件和CSS3的transform工具。touch事件是在HTML5中引入的,它用于捕获触摸设备上的手指上下移动、单击、双击等各种操作事件。transform工具是一组CSS3中用于实现位置变换的规范。手势返回的原理是这样的:当用户在touchmove事件中往左滑动时,应用程序将捕捉到手势事件的坐标。然后使用CSS3中的translateX属性实现视图的移动,这样用户就可以看到当前视图从右边到左边的动态效果。当用户手指抬起而不滑动时或者页面滑动到一半而终止时,应用程序判断页面应该停留在哪个位置,以实现正确的手势返回效果。

## 详细介绍

手势返回的实现通常涉及三个部分:JavaScript、CSS和HTML代码。虽然H5应用程序中的每个页面都可以使用这种方法来实现手势返回,但本文将专注于使用JavaScript和CSS3实现手势返回的通用方法。

### HTML代码

HTML代码通常包含两个部分:header和content。header包含一个返回按钮和标题,而content包含应用程序的主体。

```html

Gestures demo

文章标题

文章正文内容

```

### JavaScript代码

JavaScript代码负责事件监听和DOM操作,通常会有三个需要监听的事件:touchstart、touchmove和touchend。

```javascript

var startX, startY, endX, endY;

var threshold = 50; // 默认手势移动距离阈值为50px

var viewWidth = window.innerWidth;

var content = document.querySelector('.content');

content.addEventListener('touchstart', function(event) {

startX = event.touches[0].pageX;

startY = event.touches[0].pageY;

});

content.addEventListener('touchmove', function(event) {

endX = event.touches[0].pageX;

endY = event.touches[0].pageY;

var deltaX = endX - startX;

var deltaY = endY - startY;

if (Math.abs(deltaX) > Math.abs(deltaY)) {

// 取消事件的默认行为和冒泡

event.preventDefault();

event.stopPropagation();

if (deltaX > 0) {

// 先算最大值

var translateX = Math.min(0, deltaX);

// 再算最小值

translateX = Math.max(-(viewWidth - threshold), translateX);

content.style.transform = 'translateX(' + translateX + 'px)';

}

}

});

content.addEventListener('touchend', function(event) {

var deltaX = endX - startX;

var translateX = 0;

if (deltaX > 0 && deltaX > threshold) {

translateX = -(viewWidth - threshold);

content.style.transition = 'transform 0.3s ease-in-out';

} else {

content.style.transition = 'transform 0.6s ease-in-out';

}

content.style.transform = 'translateX(' + translateX + 'px)';

});

```

### CSS代码

CSS代码通过transition实现手势返回的动态效果。

```css

body {

margin: 0;

}

header {

background-color: #eee;

height: 64px;

display: flex;

justify-content: space-between;

align-items: center;

padding: 0 16px;

box-shadow: 2px 2px 4px #888;

}

.content {

padding: 16px;

transform: translateX(0px);

transition: transform 0.6s ease-in-out;

}

.back-button {

border: 0;

font-size: 16px;

background-color: transparent;

outline: none;

}

```

## 总结

手势返回是一种非常流行、实用的应用程序交互方式,在H5应用程序中的实现完全采用了HTML5、CSS3和JavaScript等现代化技术。H5应用程序的手势返回实现包括touch事件监听和CSS3的transform工具的使用,以及设置动态效果的过渡动画等步骤。掌握这些知识,开发者可以很轻松地实现流畅的手势返回交互效果,提升用户体验。


相关知识:
做网站手机版和app要多少钱
做网站的手机版和APP是目前很多企业和个人必须考虑的问题,因为移动互联网的趋势已经成为了未来发展的趋势。要做一个网站的手机版和APP,需要考虑以下几个方面:1.选择应用开发平台现在市面上的应用开发平台非常多,包括React Native, Flutter,
2023-05-18
如何把电脑网页做成一个简易的app
将网页转换为一个简易的app可以为用户提供更加便捷的使用体验,让用户能够更加快速地打开网页以及对网页进行操作。下面是关于如何把电脑网页做成一个简易的app的介绍。首先,我们需要了解一下这个过程的原理。实际上,将一个网页转换为一个简易的app的过程就是将网页
2023-05-18
如何做一个租房网站app
租房网站APP是现代租房市场上必不可少的一种应用,无论是真实房源的展示还是租房人的需求匹配都离不开它。它的实现需要涵盖三个方面的内容:前端UI设计、后端服务器搭建以及完善的租房逻辑。下文会分别来介绍这三个方面的实现流程和注意点。一、前端UI设计APP的前端
2023-05-18
给网站做app要哪些钱
想要将自己的网站转化为App,需要考虑几个方面的成本。这些成本将与你的需求和要求紧密相连,包括开发人员、设计、平台设置、推广和维护等。一、平台设置成本首先,你需要考虑开发的平台。一般来说,市面上分为iOS和Android两大主流平台。如果你希望覆盖更多的设
2023-05-18
把网站做成app的软件有哪些
在移动互联网时代,许多网站为了更好地服务用户,将自己的网站建设成移动应用程序,方便用户随时随地进行浏览和使用。本文将对将网站转换为移动应用程序的各种方法进行介绍。1. 网站封装成应用程序将网站的所有内容打包成一个应用程序,可以让用户在网站的应用程序中直接使
2023-05-18
安卓怎样把网页做成app
在安卓上,将网页做成APP无疑是方便用户提高使用效率的一种方法。本文介绍在安卓上实现网页转APP的方案,并详细解释其原理。一、原理在安卓端实现网页转APP,本质上是将网页包装成一个APP。安卓APP本质上是个容器,里面装着webview视图控件和原生控件,
2023-05-18
web前端可以做识别声音app
Web前端可以使用HTML5提供的Web Audio API来实现对声音的识别,进而实现一个基本的声音识别APP。Web Audio API是HTML5中的一个音频API,提供了JavaScript操作音频的接口,可以对音频进行实时处理,包括录音、播放、混
2023-05-18
web前段开发可以做app吗
Web前端开发可以用于构建原生应用程序,并且这种方法也越来越受欢迎。Web技术越来越先进,除了可以开发网站,还能够开发桌面应用程序甚至移动应用程序。以下是详细的介绍和工作原理。Web前端开发和应用程序开发Web前端开发以HTML,CSS和JavaScrip
2023-05-18
vue可以做app界面吗
Vue是一种渐进式JavaScript框架,能够轻松构建交互式和高效的单页面应用程序(SPA)。虽然Vue本身是为Web应用程序开发而设计的,但它的特点适用于其他应用程序类型,例如移动应用程序。可以用Vue做出人们通常指的移动App的界面。Vue可以使用V
2023-05-18
php做app后台数据操作
PHP是一种广泛用于Web开发的服务器端脚本语言,可以在服务器端执行操作。在开发App时,除了设计前端UI和交互,还需要一个后台程序来处理数据、进行运算以及与App进行交互。PHP作为Web后台开发语言,可以轻松胜任这个任务。实现App后台数据操作的原理和
2023-05-18
html做淘宝购物车app
首先,了解一下什么是购物车。购物车是一种用于在线购买产品的工具,顾客可以将他们想要购买的商品添加到购物车中,并在付款前查看购物车中的商品列表和总费用。为了实现淘宝购物车App,我们需要了解HTML是如何与网络应用程序和客户端交互的。HTML(超文本标记语言
2023-05-18
golang内嵌vue的app做界面
在现代的web应用中,传统的后端服务和前端界面已经逐渐分离,前后端通过RESTful API进行交互,使得应用的开发变得更加分工明确、易于维护。然而,对于一些需要高并发、高实时性或者需要提供更好用户体验的应用,这种传统的分离方式仍然存在一些问题。Go语言作
2023-05-18
©2015-2021 智电瑞创 蜀ICP备17039183号