免费试用

中文化、本土化、云端化的在线跨平台软件开发工具,支持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
做网站和做app是两个完全不同的领域,对于想要同时做好这两个项目的人来说,需要了解一些相应的知识和技能。本文将介绍做网站和做app的基本原理和详细步骤。网站开发原理在开发一个网站时,首先需要确定要做的网站类型和功能。这些功能可以包括博客、电子商务、社交媒体
2023-05-18
做个网站和手机app哪个难
做网站和手机APP这两者都有其难易程度和需要掌握的技术细节。以下是两者的原理和介绍,以及它们的难易程度。1. 网站一个网站是由一组HTML文件、CSS样式表和JavaScript编写而成的。 HTML是超文本标记语言,用于编写和安排网页的内容。CSS用于控
2023-05-18
做一个网页app
网页应用程序(Web App)是通过互联网在浏览器中运行的一种应用程序。相较于传统的本地应用程序,它可以实现跨平台、不需要下载安装、兼容性好、数据交换方便等许多优势。下面,我将为大家详细介绍如何做一个网页应用程序。1. 确定开发语言和框架网页应用程序的开发
2023-05-18
怎么将一个网站做成app
将一个网站做成APP可能有多种实现方式,但最常见的是通过WebView将网站嵌入APP中。WebView是Android开发中常用的控件,可以在APP中显示网页内容,并且提供了一系列的操作接口,如控制网页的前进/后退,获取网页标题、URL等。以下是将网站做
2023-05-18
怎样把一个网站做成一个手机app
将网站转化为手机应用程序可以带来很多好处,例如提高用户的访问便捷性和用户体验。我们可以借助一些工具实现这一目的。以下是将网站转化为手机应用程序的具体方法和步骤。一、什么是PWAPWA(Progressive Web App)是一种结合了 Native Ap
2023-05-18
用html做一个简单的app
HTML(Hyper Text Markup Language)是一种用于创建网页的标准标记语言。大多数人都将HTML与网页制作联系在一起,但实际上,它也可以用来创建桌面应用程序的基础界面。在这篇文章中,我们将进行一些介绍和演示,展示如何使用HTML来创建
2023-05-18
使用php做的app
PHP是一门广泛应用于Web开发的脚本语言,其优点在于速度快、易于学习、易于维护。PHP在网页开发中被广泛应用,但也可以用来编写应用程序,如本文将介绍的使用PHP做的App。App的概念非常广泛,其本质是一种应用程序。App一般分为客户端和服务器端两个部分
2023-05-18
如何自己开网站做app
自己开网站和做app是两个不同的事情,因为网站和app的结构和技术实现有所不同。在这里,本篇文章将详细介绍如何自己开网站和如何做app。如何自己开网站1. 首先,要有一个域名。域名是你的网站在互联网上的唯一标识符,可以购买域名,也可以在一些免费的网站上注册
2023-05-18
vue可以做手机app吗
Vue是一种面向现代浏览器和服务器的渐进式JavaScript框架。它允许开发人员构建具有组件化架构的高效客户端应用程序。许多开发人员都在纠结Vue能否用于构建手机应用,下面我们就来详细介绍一下。Vue本身是一个前端框架,它的主要用途是构建网页应用程序。因
2023-05-18
html5做app流程
HTML5 是一种标准和语言,具有许多用途和应用。其中一个应用就是开发应用程序(APP)。这里是一个大概的HTML5做APP的流程和原理。1. 确定业务需求和目标在开始创建应用程序之前,您需要确定您想要实现的业务需求和目标。明确您的目标可以确保您的应用程序
2023-05-18
h5 能做到app 流畅吗
HTML5 是一种基于 Web 技术的标准,它提供了一种实现跨平台应用的方法,也成为了跨平台应用程序开发的主要技术之一。因此,很多人对 HTML5 能否达到和原生应用一样的流畅度与交互体验产生了质疑。本文将探讨 HTML5 能否在实现 APP 时达到流畅的
2023-05-18
©2015-2021 智电瑞创 蜀ICP备17039183号