免费试用

中文化、本土化、云端化的在线跨平台软件开发工具,支持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、
2023-05-18
做移动网页版和app版
移动网页版简介移动网页版,指的是在移动设备上的特定浏览器(如Safari、Chrome等)中访问网页时展示出来的网页版。相较于传统的PC网页版,移动网页版在设计上更加注重页面排版、文字对比度、大小限制以及交互性设计的优化,更适合移动设备的屏幕大小和使用习惯
2023-05-18
做的网站哪儿去找app
在如今的互联网时代,APP已经成为人们生活中不可或缺的一部分。一些人喜欢使用已经开发好的APP,而其他人则想自己开发一个APP。无论你属于哪一类,了解APP的原理和详细信息是非常必要的。首先,我们需要明确APP的概念。APP即应用程序,是一种在移动设备上安
2023-05-18
做一个网页版app大概多少钱
做一个网页版app需要的具体费用取决于许多因素,包括开发人员的费用和时间、UI/UX设计的复杂性和所需功能的数量等等。在这里,我们将深入研究创建网页版应用程序所需要的具体步骤和可能的成本。为何选择网页版app?网页版应用程序的最大好处在于它们不需要下载,用
2023-05-18
做app用h5好吗
在开发app的时候,我们可以选择使用原生开发或者h5来实现。h5是一种基于Web技术的手机应用开发方式,在移动应用市场中越来越受欢迎。本文将对h5开发app的优势和不足进行详细介绍。### h5是什么?h5全称是HTML5,是一套新的HTML标准,它引入了
2023-05-18
做app与做网页有什么区别
做App与做网页有很多区别,从实现的角度来看,在制作App的过程中要考虑的因素相对较多。这篇文章将会从设计、安装、资源占用和开发语言等多个方面来详细介绍做App与做网页的区别。1. 设计网页设计以及App设计都是必要的,不过网页的设计相对简单许多。由于网页
2023-05-18
做app前端开发工程师的前景
随着智能手机的普及,移动互联网的飞速发展,APP前端开发工程师成为一个热门职业。随着人们对移动应用的需求日益增加,APP前端开发从业者的前景也越来越广阔。下面将详细介绍APP前端开发的相关知识。一、什么是APP前端开发?APP前端开发,指的是开发移动应用程
2023-05-18
怎么为网站做一个app
将网站转化为移动应用程序(app)是一个具有挑战性的任务,需要掌握一些基本原则和技术。本文将介绍如何为网站开发一个app,包括基本原理和详细步骤。一、基本原理在为网站开发一个app之前,需要明确一些基本原理。首先,app是一种基于移动操作系统的程序,可以在
2023-05-18
前端app开发是做什么的
前端App开发是一种通过Web技术创建指定平台的原生应用程序。前端App是一种可以在所有设备上运行的轻量级Web应用。它们可以具有原生应用的功能,例如本地存储、离线功能、推送通知等。前端App开发过程包含以下关键步骤:1. 确定平台和框架: 前端App可以
2023-05-18
vue做app的准备
Vue是一款用于构建用户界面的渐进式框架,它可以用来开发 Web 应用,也可以用来构建原生应用程序。Vue 将应用分成多个组件,每个组件都有自己的功能,而父组件可以将多个子组件组合在一起,最终构建成一个完整的应用程序。在移动端开发中,Vue 可以帮助我们快
2023-05-18
vue怎么做成app
Vue.js是一种用于开发 Web 应用程序的现代 JavaScript 框架。它使用了一些最新的Web技术,例如虚拟DOM (VDOM)和单文件组件,因此能够提高开发效率,同时也使得Vue.js在Web应用开发中备受欢迎。如何将Vue.js应用程序转化为
2023-05-18
app的前端用什么做
移动应用程序的前端通常是由 HTML、CSS 和 JavaScript 构建而成。HTML 是应用程序中的标记语言,用于构建应用程序的用户界面和页面布局。CSS 是应用程序的样式表语言,用于控制界面的设计和布局。JavaScript 是应用程序的编程语言,
2023-05-18
©2015-2021 智电瑞创 蜀ICP备17039183号-1