免费试用

中文化、本土化、云端化的在线跨平台软件开发工具,支持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工具的使用,以及设置动态效果的过渡动画等步骤。掌握这些知识,开发者可以很轻松地实现流畅的手势返回交互效果,提升用户体验。


相关知识:
做h5好用的app
H5(HTML5)已经成为了前端开发的主流技术之一,因为它具有跨平台、便捷、快速等特点。为此,出现了各种各样的支持H5开发的App应用。这篇文章将会介绍一些好用的支持H5开发的App应用,包括原理或详细介绍。1. TBS浏览服务TBS浏览服务是腾讯云推出的
2023-05-18
做app属于前端吗
制作一个app需要前端和后端两部分,其中前端主要负责制作app的界面和用户交互,后端则负责处理数据和业务逻辑。前端主要使用的技术栈是HTML、CSS、JavaScript等,同时还有多种框架和库,例如React Native、Ionic、Flutter等。
2023-05-18
做app的网站
随着智能手机的普及,手机App也成为了人们生活的重要组成部分,越来越多的企业和个人开始关注如何开发一个成功的App。本文将针对如何做App的初步介绍,让想要进入App开发领域的读者们有一个基本的了解。一、 App的基本概念App是指应用程序(Applica
2023-05-18
做app和网站
在互联网时代,APP和网站成为了用户获取信息、消费以及社交的重要平台。这两者都是通过计算机技术和网络技术实现的,但是运行和功能上有着很大的不同。下面,我将为大家介绍如何制作APP和网站的原理和步骤。一、APP制作原理和步骤:1.原理APP是Applicat
2023-05-18
只会html也可以做安卓app
HTML是网页制作的基础,它通过结构(HTML)、样式(CSS)和行为(JavaScript)三者之间的配合来制作网页。而安卓APP的制作通常包含以下三个方面:界面、数据和功能。那么,只会HTML的人也可以借助一些工具来制作安卓APP,下面我们来详细介绍一
2023-05-18
用angular做app的公司
Angular是一种流行的前端JavaScript框架,它可以让Web开发人员更快地开发高质量的Web应用程序。最近几年中,越来越多的公司采用Angular为基础来搭建和开发Web应用程序。下面是几个使用Angular构建应用程序的公司:1. Google
2023-05-18
网站做的app可以上架吗
网站做出来的app是否可以上架,这是很多网站管理员或者app开发者,比较关心的问题。答案是取决于具体情况的,需要从不同角度考虑,下面详细介绍一下。一、什么是网站App网站App就是通过H5技术、Hybrid App框架、或者是Webview等方式,把网站内
2023-05-18
什么网站app可以做pptcad这些兼职
做兼职已经成为很多人赚钱的一种方式,如果你擅长使用pptcad这些软件,那么你可以考虑做这方面的兼职。以下是一些常见的网站和APP,供你选择。1. 猪八戒网猪八戒网是一个专业的互联网综合服务平台,除了提供各种设计类比如PPT、Logo、海报的咨询服务外,还
2023-05-18
html5做成app
HTML5是一种Web技术语言,可以通过JavaScript和CSS3来实现丰富的用户体验,将Web应用转变成为支持多个设备的跨平台应用。HTML5应用程序的开发过程,分为两种类型:离线应用程序和在线应用程序,下面分别进行介绍。1. 离线应用程序离线应用程
2023-05-18
h5界面做成app
将一个H5页面转换为一个App并不是一件难事。这种转换技术已经存在了很多年,因此已经有很多工具和解决方案可以让你很容易地将H5页面转换为App。因为H5页面是基于Web的技术,而App则是基于本地化环境的,因此需要一定的技术处理和桥接,才能让H5页面转化为
2023-05-18
h5能做到和app一样流畅吗
在过去,使用浏览器运行的网页页面总是比原生应用程序缺乏流畅性、易用性和交互性,而使用原生应用程序则可以提供流畅、易用和高交互性的用户体验。但是随着 HTML5 技术的发展,大大提高了 Web 应用程序的性能,使其可以与原生应用程序竞争并提供类似的用户体验。
2023-05-18
app手机网站做
随着智能手机用户数量的不断增长,为手机量身定制的移动应用程序(App)和移动网站的需求也越来越高。移动应用程序可以以原生应用程序的形式开发,而移动网站则可以以响应式网站的形式开发。以下是关于如何开发移动网站的一些原理和详细介绍。移动网站是基于互联网技术的,
2023-05-18
©2015-2021 智电瑞创 蜀ICP备17039183号