免费试用

中文化、本土化、云端化的在线跨平台软件开发工具,支持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
网页应用程序(Web App)是通过互联网在浏览器中运行的一种应用程序。相较于传统的本地应用程序,它可以实现跨平台、不需要下载安装、兼容性好、数据交换方便等许多优势。下面,我将为大家详细介绍如何做一个网页应用程序。1. 确定开发语言和框架网页应用程序的开发
2023-05-18
做一个网站app需要多少钱
做一个网站 App 的费用主要取决于多个因素。这些因素包括开发人员的水平、应用范围、功能要求、技术选型等。在本文中,我们将介绍网站 App 的主要开发成本来源。网站 App 的主要成本1.开发人员的费用网站 App 的开发需要技术人员。这些人员的费用根据其
2023-05-18
自己做网站用什么app好用
如果你想自己创建一个网站,可以使用许多应用程序或平台来实现这一目的。在下面的文章中,我们将讨论几个最流行且最易于使用的网站构建应用程序。 1. WordPress WordPress可能是最流行的网站构建内容管理系统之一。它是一种极其流行的开源软件,允许用
2023-05-18
怎么把app做成网页版的
将一个App做成网页版主要是为了让用户能够在电脑上或者没有安装该App的设备上使用该App的功能。有些App为了解决这一问题会开发和推出对应的Web应用,这些Web应用在功能、性能和使用体验上都与原本的App保持一致。下面将介绍两种将App做成Web应用的
2023-05-18
怎么把asp网站做成app
将ASP网站转换为APP是一种流行的做法,这种转换可以让你的ASP网站在移动设备上更加易于使用。通过将ASP网站发布为APP,你可以向你的用户提供更好的使用体验,并且可以吸引更多的用户。本文将详细介绍如何将ASP网站转换为APP。首先需要了解ASP是什么。
2023-05-18
网页做app软件
网页应用程序或网页版软件是一种基于网络的应用程序,用户在网页浏览器中使用它。现在越来越多的网站都采用了响应式设计,可以自适应不同的设备,包括电脑、平板和手机等多种终端。但是,有些网站并没有兼容移动端,用户在手机上访问时体验不佳,这时候我们可以考虑将网页做成
2023-05-18
网页版系统怎么做成app
将网页版系统转换为App的过程,一般可以通过以下三种方式来实现:## 1. 嵌入式 Web ViewWeb View 是一种原生 App 组件,可以在 App 中嵌入一个网页,作为 App 的一部分来运行,通过它我们可以将网页版系统直接嵌入App中运行,给
2023-05-18
什么app可以做网页
在移动互联网时代,人们越来越依赖手机进行网页浏览,而且希望能够快速方便地浏览自己感兴趣的网站。此时,许多人想要自己制作适配手机的网站或者是将PC端的网站转移到手机上,那么,什么App可以做网页呢?下面我们来看看。一、开发型应用1. HBuilderXHBu
2023-05-18
vue做app登录信息
Vue.js 是一个渐进式 JavaScript 框架,它为开发单页面应用程序提供了一种响应式和组件化的方式。Vue.js 通过使用虚拟 DOM 和模板语法,使开发者更加容易构建用户界面。在实现 App 登录信息的时候,Vue.js 可以通过以下方式进行处
2023-05-18
vue
Vue.js是一套用于构建用户界面的渐进式 JavaScript 框架,可以用于构建大型的单页应用。在手机app开发中,Vue.js通常被用于构建页面。下面将详细介绍Vue.js在开发手机app页面中的原理和应用。1. MVVM模式Vue.js采用了MVV
2023-05-18
react native 做的app
React Native 是一种基于 ReactJS 的新型框架,其主要目的是开发原生的、高效的、以 JavaScript 为基础的移动应用程序。React Native 应用程序可以在 iOS 和 Android 原生的 app 上运行,因此开发者可以用
2023-05-18
©2015-2021 智电瑞创 蜀ICP备17039183号