免费试用

中文化、本土化、云端化的在线跨平台软件开发工具,支持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需要的具体费用取决于许多因素,包括开发人员的费用和时间、UI/UX设计的复杂性和所需功能的数量等等。在这里,我们将深入研究创建网页版应用程序所需要的具体步骤和可能的成本。为何选择网页版app?网页版应用程序的最大好处在于它们不需要下载,用
2023-05-18
做app还是做网站是什么
在互联网时代,无论是做app还是做网站都具有很大的发展前景。但是,它们的原理和应用场景却存在很大的区别。下面将针对这两种产品做出详细的介绍和分析。一、应用场景的不同1、app的应用场景:App主要服务于移动端,而且便于携带和使用,给用户带来了很大的便利。常
2023-05-18
做一个app和做一个网页有什么区别
APP(Application)指的是应用程序,它是在移动端(手机、平板电脑等)上运行的软件程序,具有独立的功能和界面。而网页(Web Page)是网站的基本单元,是指在浏览器中打开的HTML页面。在功能上,APP具有比网页更多的本地运行能力。APP可以访
2023-05-18
维护h5做的app需要哪些技能
随着移动互联网的发展,H5技术成为了一种流行的开发方式,许多公司和开发者选择使用H5技术来快速开发移动端应用。在维护这些H5应用程序时,需要掌握以下技能:1. HTML/CSS/JavaScript技能使用H5技术开发的应用程序是基于HTML、CSS和Ja
2023-05-18
前端为app做h5页面
随着移动互联网的发展,APP已经成为人们日常生活中必不可少的工具,但是开发APP需要大量的时间和资金,对于一些小型企业来说,难以承受。而H5页面的开发成本相对较低,可以在较短的时间内完成,也更容易被搜索引擎收录,因此越来越多企业选择为APP做H5页面。下面
2023-05-18
能把网站做成app的软件
现如今,移动互联网已经成为了互联网社会的基础之一,而在所有的移动平台中,app应用是最受欢迎的一个,因为它们可以为用户提供更好的体验和更加便捷的访问方式。对于一个网站博主来说,将自己的网站转换成app是一个非常不错的选择,不仅可以扩展自己的受众,还可以为用
2023-05-18
可以把手机网站做成app吗
是的,你可以将你的手机网站转变成一个应用程序,让用户可以通过应用程序来访问你的内容,而不需要在浏览器中输入网址。在这篇文章中,我将详细介绍如何将手机网站转换为应用程序。首先,我们需要了解什么是PWA。PWA(Progressive Web App)是一种新
2023-05-18
搭建网站做app需要学什么
要搭建一个网站或者做一个app,需要学习的知识领域非常广泛,以下是一些关键领域需要掌握的知识。1. 编程语言:了解至少一种编程语言是必要的,比如JavaScript、Java、Python等。选择适合自己的编程语言可以让你快速地学习和开发网站或者app。2
2023-05-18
python做后端vue做前端开发app
Python是一种高级编程语言,能够在各种不同的领域进行应用,包括网络开发、数据分析、人工智能等方面。Vue则是一种现代化的JavaScript框架,常用于构建单页Web应用程序。在开发App时,通常需要使用后端和前端进行协作。Python可以作为后端语言
2023-05-18
html5做app时
HTML5是前端技术的重要一环,也是一种用于构建跨平台应用程序的技术。在近几年中,随着移动互联网的迅速发展,HTML5应用程序的需求也越来越大,其中最重要的领域就是移动App开发。本文将详细介绍HTML5开发移动App的原理和步骤。一、什么是HTML5应用
2023-05-18
app框架php可以做吗
PHP是一种流行的开源脚本语言,它适用于开发动态Web应用程序。PHP提供了很多功能强大且易于使用的函数和库,以帮助开发人员更快速、更有效地编写Web应用程序。PHP基于C语言和Perl语言的设计,也融合了其他编程语言的特点,使得PHP成为一个非常强大的编
2023-05-18
联系我们
联系方式:QQ 2359986232TEL 17612823405邮箱 2359986232@qq.com
2018-07-18
©2015-2021 智电瑞创 蜀ICP备17039183号-1