免费试用

中文化、本土化、云端化的在线跨平台软件开发工具,支持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产品测评已经成为了必不可少的环节。一方面,通过对产品进行全面的测试,可以发现产品存在的问题,提高其稳定性和安全性;另一方面,也可以发掘出产品的潜力,提升其用户黏性和用户满意度。在这样的需
2023-05-18
怎么把网页做成安卓app
想要把自己的网页做成安卓app并发布到应用商店中是一件非常创新且有趣的事情。下面将介绍两种实现方法:基于WebView和基于原生开发。基于WebView的方法:在安卓系统中,WebView是一个强大而且高度定制化的组件。它允许你在安卓应用内展示网页,同时还
2023-05-18
怎么把asp网站做成app
将ASP网站转换为APP是一种流行的做法,这种转换可以让你的ASP网站在移动设备上更加易于使用。通过将ASP网站发布为APP,你可以向你的用户提供更好的使用体验,并且可以吸引更多的用户。本文将详细介绍如何将ASP网站转换为APP。首先需要了解ASP是什么。
2023-05-18
写app做网页
想要写app做网页,需要掌握一定的知识和技能。这里将介绍相关的原理和步骤,帮助你更好地理解和实现。1. 原理App做网页的原理是利用WebView组件,将网站以网页形式嵌入到App中。WebView是一个在应用程序中展示网页的组件,Android提供了We
2023-05-18
网站做原生app
如今的互联网世界中,移动设备使用量已经超越PC端,原生App成为越来越受欢迎的开发方式,让使用者享受更好的用户体验以及更快的响应速度。那么网站要如何转化为原生App呢?下面是一些关于网站转化为原生App的原理和详细介绍。一、什么是原生App原生应用程序是指
2023-05-18
网站源码怎么做成app
将网站源码转换成App是现阶段非常流行的趋势之一。网站源码可以包含HTML、CSS和JavaScript等文件,而App则通常是针对特定平台编写的,例如iOS和Android。在本文中,我们将介绍如何将网站源码转换成App,包含原理和详细步骤。一、原理在转
2023-05-18
vue做出来的网页怎么安装app
Vue.js是一个用于构建交互式用户界面的JavaScript框架,具有组件化和模块化的特点。在现代web应用程序开发中,Vue.js已经成为很多开发人员的首选框架。Vue.js支持Web App和Native App开发,但是对于许多开发人员来说,如何将
2023-05-18
vue做手机原生app
Vue是一个非常常用的JavaScript框架,用于构建现代Web应用程序。如果您想使用Vue来构建应用程序并将其打包为原生应用程序,则需要了解一些其他关键技术,如Webpack、Cordova和PhoneGap等。Webpack是一个模块打包器,用于将您
2023-05-18
vue做移动端app
Vue是一款容易上手,轻量级并且高效的 JavaScript 框架,主要用于构建用户界面和单页应用。随着移动设备的普及,越来越多的应用需要适配移动端。在这种环境下,Vue.js也就成为一个很好的选择。本文将介绍Vue构建移动端app的原理和详细步骤。###
2023-05-18
html5做app软件
HTML5作为一种新的互联网技术,被广泛使用于网页开发和手机APP开发。HTML5可以充分发挥浏览器获得更多操作系统资源和交互能力的优势,提供丰富的浏览体验和各种功能应用,满足大众的需求。HTML5与前一代HTML的最大不同在于,它确立了一种新的标准,一种
2023-05-18
h5页面做成app
H5页面是一种基于HTML5技术开发的网页,其常用于移动应用程序开发中。通过将H5页面转化为APP,可以让网页应用程序在移动设备上变得更加便捷、高效、更容易使用。在介绍如何将H5页面转化为App之前,我们需要了解两个关键的概念:Hybrid App和Web
2023-05-18
h5页面做app
HTML5页面可以被用作移动应用程序的前端。开发人员可以使用HTML5创建跨平台的移动应用程序,通过包装将其转化为本机应用程序。创建一个这样的应用程序需要充分了解HTML5和相关技术。HTML5是Web标准的下一个版本,引入了很多新功能,包括本地存储、位置
2023-05-18
©2015-2021 智电瑞创 蜀ICP备17039183号