免费试用

中文化、本土化、云端化的在线跨平台软件开发工具,支持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
随着移动互联网的发展,越来越多的人们喜欢使用手机应用来获取信息和服务。因此,将网站转换为应用程序已经成为一种越来越受欢迎的趋势。这样可以帮助网站拓展其受众群体,增强用户体验,提高访问量和销售额。将网站转换为应用程序需要遵循以下步骤:1. 网站的适应性设计首
2023-05-18
学做网页applet录音机
网页applet录音机是一种基于Java语言的应用程序,可以直接在网页上运行录制音频文件。该录音机可以轻松实现录音、暂停、播放、停止等基本功能,并且可以将录制的音频文件进行保存。实现网页applet录音机的基本原理如下:1. 获取音频输入设备Java提供了
2023-05-18
如何做个比赛比分网站app
做一个比赛比分网站App的过程需要分多个步骤完成。在开始制作前,需要确定以下几个关键性问题:1. App的目标用户是谁?需要满足哪些需求?2. 是否需要考虑跨平台开发?3. 如何处理比赛数据?下面是制作一个比赛比分网站App的流程:1. 界面设计要做一个用
2023-05-18
公司网站怎么做成手机端app
现在随着移动设备的广泛普及,越来越多的企业开始将重心转向手机应用程序的开发。这是因为移动应用可以让用户随时随地地接入企业服务,增强企业与用户之间的互动性。如果你是一位网站管理员,你可能会思考一个问题:如果将公司网站变成手机端app,才能更好的服务用户。接下
2023-05-18
个人开发者做网站还是app比较好做
个人开发者想要实现自己的网站或App,需要考虑很多因素。在技术能力、兴趣方向、市场需求、开发成本等多方面进行综合考虑,才能做出正确的决策。本篇文章将从技术角度、市场需求、开发成本等多个方面分析个人开发者做网站还是App比较好。一、技术角度1. 网站网站开发
2023-05-18
websocket做app即时通讯
WebSocket是一种网络通信协议,它可以在客户端和服务器之间建立持久连接,以便实时地进行双向通信。而在移动端应用中,则可以利用WebSocket实现实时的即时通讯。本文将对WebSocket在移动应用中的应用做出介绍和解析。一、WebSocket概述W
2023-05-18
php怎么做一个app
PHP 是一种用于 Web 开发的流行语言,它可以用于创建动态页面,处理表单和数据库,还可以与应用程序接口(API)交互。但是,PHP 的主要限制是它只能运行在 Web 服务器中。因此,如果需要将 PHP 应用程序转换为应用程序,例如移动应用程序(APP)
2023-05-18
php做app教程
PHP是一种非常流行的编程语言,很多人都会用它来开发Web应用程序。但是,很少有人知道PHP还可以用来开发移动应用程序。在本文中,我将向您介绍如何使用PHP来开发Android和iOS应用程序的全过程。为了使用PHP开发移动应用程序,我们需要使用一个称为P
2023-05-18
iphone用什么app做前端
在IOS系统中,由于受到系统限制,无法直接进行前端开发,需要通过一些第三方软件来实现。以下是常用的几种APP。1. CodaCoda 是一款 Mac 上的前端编程工具,也有 iOS 版本,是一款基于文本编辑器的应用。Coda 集成了编辑器、文件管理器、语法
2023-05-18
ionic做的哪些app
Ionic是一款流行的开源跨平台移动应用程序框架,它基于AngularJS并且集成了Cordova插件,能够为开发者提供丰富的组件、强大的工具和API等。Ionic帮助开发者轻松地构建漂亮、高效的移动应用程序,支持Android和iOS系统,被广泛应用于各
2023-05-18
h5做app开发流程
H5做App开发指的是使用HTML5技术开发移动应用,这种开发方式可以跨平台使用,适用于iOS和Android等主流操作系统。使用H5技术开发可以有效降低应用开发成本和难度,同时具有很好的用户体验。下面介绍一下H5做App开发的流程。1.需求分析在进行Ap
2023-05-18
屏幕常亮功能操作详解
屏幕常亮功能操作详解某一些特殊行业,需要设备一直长时间亮屏幕,比如点餐,酒店等行业!这个时候就需要开启【屏幕常亮】功能了1.在配置APP里面找到【屏幕常亮】2.点击图标,进入配置界面APP处于激活状态时手机不会进入暗屏或黑屏休眠模式,这会增大手机耗电量,部
2019-03-01
©2015-2021 智电瑞创 蜀ICP备17039183号