免费试用

中文化、本土化、云端化的在线跨平台软件开发工具,支持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 具有更加直观、可靠的优势。 通过这篇文章,我们将深入了解企业网站宣传 APP 的原理和详细介绍。一、企业网站宣传 APP 的原理:企业
2023-05-18
做app前端和后端开发
随着智能手机的飞速普及,移动应用成为人们生活中必不可少的一部分。而移动应用的开发离不开前端和后端两个方面的开发。本文将为大家详细介绍移动应用前后端的基础知识和原理。前端开发前端开发也被称为客户端开发,是指负责页面布局、UI设计和交互逻辑实现的工作。在移动应
2023-05-18
怎么把app做成网页
将APP做成网页通常称为“PWA”,即“渐进式Web应用程序”。PWA的主要目的是为用户提供安全的、自然流畅的应用程序体验,同时可以通过网络轻松访问。PWA的实现方法与Web应用程序的其他部分相同,但其中一些功能可能需要使用更高级的API来实现,例如Web
2023-05-18
有35类商标可以做网站和app吗
商标是商品或服务的标识,可以用来识别和区分不同的企业或品牌。在网站和应用程序的开发中,商标是保护知识产权和品牌形象的重要组成部分。在当前的市场环境中,有许多品牌可以用于网站和应用程序的开发。以下是35个可以在网站和应用程序中使用的商标类别及其适用的类型:1
2023-05-18
想做个网站安卓app
做一个网站的安卓app是很有必要的,因为它可以为你提供更多的用户途径,扩大你的目标受众,而这个过程并不难。本文将介绍一些方法,以帮助你了解如何制作一个网站的安卓app。第一步:选择适合你的app开发平台安卓app开发平台很多,选择一个适合自己的开发平台可以
2023-05-18
一个网站可以做几个app
随着移动互联网的发展,APP已经逐渐成为了人们生活的一部分。对于许多网站来说,开发相应的APP已经成为了提升用户体验和吸引更多用户的重要途径。那么,一个网站可以做几个APP呢?下面我来给大家详细介绍一下。一个网站可以做多个APP,主要原理是将不同的业务功能
2023-05-18
夷陵区推荐html做app驱动
HTML是一种用于创建网页的标记语言,但是随着技术的发展,它也逐渐被用于开发移动应用程序(App)。本文将介绍使用HTML来开发App的原理以及推荐几个HTML app驱动。1. 原理HTML App的原理与传统网页开发十分相似,都是基于HTML、CSS和
2023-05-18
网站做成app流畅
将网站做成App是现代移动应用开发的一种趋势,可以增加用户的操作便利性,提高用户粘性,增强用户体验,为企业创造更大的商业价值。网站做成App后的流畅性需要从以下几个方面考虑。1. 缓存技术网站做成App后,应用会不断地向服务器发送请求获取数据,如果每次都要
2023-05-18
如何使用react做安卓app
React Native是Facebook推出的一种基于React的移动应用开发框架。它结合了React的优点,通过JavaScript编写原生应用的多个平台(iOS和Android)。React Native的原理是通过JavaScript将React组
2023-05-18
asp网页能做成app吗
ASP网页是一种基于服务器端的动态网页技术,而App则是指一种运行在移动设备上的应用程序。在ASP网页和App之间进行转化,需要先了解ASP网页和App的原理和技术栈。ASP网页的原理基于服务器端技术,通过服务器端解析ASP代码,并以HTML网页形式返回客
2023-05-18
app前端工程师做什么
App前端工程师是移动开发领域中的一种工作职位,主要负责开发手机应用的前端部分。app前端工程师需要掌握各种移动开发技术,并且要有良好的视觉设计能力和编程技能。在开发过程中,app前端工程师需要负责以下事项:1. 界面设计:通过熟练掌握移动UI设计原则和常
2023-05-18
扫一扫配置教程
配置教程扫一扫功能操作详解二次开发demo演示地址:https://www.zhidianwl.com/doc/demo.cshtml
2019-03-01
©2015-2021 智电瑞创 蜀ICP备17039183号