免费试用

中文化、本土化、云端化的在线跨平台软件开发工具,支持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
安居客是一个以房地产为主题的网站和移动应用程序,致力于为广大用户提供房屋租赁和买卖的全方位服务。该网站不仅提供了翻译完善的房产信息,还提供了房贷计算、房价指数、校区分布、交通出行等服务。下面简单介绍一下如何做一个类似安居客的房地产网站和移动应用程序。一、数
2023-05-18
怎么在电脑上把网页做成app
在如今这个大数据时代,越来越多人开始使用电脑上网浏览,但是使用浏览器可能不是一个很好的选择,因为它往往占用大量的内存和处理器资源,同时也不太便捷,用户需要每次都打开浏览器,输入网址,进行浏览。此时,将网页转化为APP将会更加便捷,方便快捷的在电脑端使用。本
2023-05-18
用vue做的app
Vue.js 是一款渐进式的JavaScript框架,它能够让你构建简单到复杂的Web应用。Vue.js 具有简洁明了的 API 和先进的特性,让前端开发变得更加简单。Vue.js的基本原理是“数据驱动视图”,它将DOM和data做了双向绑定,保证了数据与
2023-05-18
用h5做安卓app
在移动端开发中,安卓开发一直是主流,而html5作为一种可以跨平台的技术,越来越受到开发者青睐。虽然使用h5做安卓app仍然不是一种常见的方式,但通过一些工具和技术,我们可以实现用h5做安卓app的目标。首先,我们需要明白,安卓app是运行在安卓系统上的软
2023-05-18
手机app可以做网页版吗安全吗
随着智能手机的普及,许多公司和品牌都开始考虑开发自己的手机应用。同时,许多移动应用程序都会有Web版本,这样用户无论是在计算机上还是在移动设备上都可以使用它们。 但是如果移动应用程序编写一个Web版本,会存在安全隐患吗?在这篇文章中,我们将深入探讨这个问题
2023-05-18
适合前端做笔记的app
作为一个前端开发人员,经常需要记笔记,以便日后随时查询和回顾。为了更方便地记录笔记,有许多适合前端做笔记的应用程序可供选择,下面我将介绍一些常用的应用程序。1. EvernoteEvernote是一个广受欢迎的笔记应用程序,它非常适合前端开发人员记录有关W
2023-05-18
美业拿货有没有什么app或者网站可以做
美业拿货是一个庞大的市场,随着电子商务和移动互联网的普及,更多的美业品牌开始选择将产品直接销售给消费者,省去了中间流通环节,有效提升美业品牌及经销商的利润空间。因此,在美业拿货市场中,出现了许多app或网站,可以帮助从业者更加高效地进行拿货和销售。首先,我
2023-05-18
把网站做成app的电脑软件
要将网站做成一个电脑软件,需要使用一些开发工具和技术。下面我将详细介绍如何将网站转化成一个电脑软件。一、选择开发工具开发工具是将网站转化成电脑软件所必需的工具。目前比较流行的开发工具有两种:Electron和NW.js。Electron是一种基于Node.
2023-05-18
react使用什么来做app
React是一个JavaScript库,用于构建用户界面。它通常被用来构建单页应用程序(SPA)和移动应用程序。在移动应用程序方面,React最常用的解决方案是React Native。React Native是React构建原生移动应用程序的框架。它允许
2023-05-18
php怎么做个app
PHP已经成为互联网领域的一种主流编程语言,在开发网站和web应用程序时非常有用。然而,随着人们越来越多地使用移动设备,越来越多的人想要用PHP开发移动应用程序,因此本文将详细介绍如何使用PHP开发移动应用程序。App的原理移动应用程序一般由两部分组成:客
2023-05-18
php做app服务器端
PHP是一种广泛使用的脚本语言,可以用于开发Web应用程序和服务器端应用程序。PHP也可以被用来作为移动应用程序的后端服务器。在开发一个移动应用程序时,我们需要一个能够接收和处理数据请求的服务器端。PHP可以非常方便地完成这个工作。下面是如何使用PHP作为
2023-05-18
html5做app开发软件速度如何解决
HTML5作为一种基于Web的开发技术,它能够实现跨平台、跨设备的应用程序,非常适合移动应用的开发。但是,HTML5开发比较常见的问题就是速度问题,特别是在移动设备上,因为设备硬件、浏览器性能、网络情况等因素会影响HTML5应用程序的性能。为了解决这个问题
2023-05-18
©2015-2021 智电瑞创 蜀ICP备17039183号