免费试用

中文化、本土化、云端化的在线跨平台软件开发工具,支持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的网站和原理,让大家更好的了解和入门。1. 极简APP所谓极简APP,就是一款非常简单易用的移动APP开发平台。通过它,任何
2023-05-18
做app最好的前端语言
在做app最好的前端语言方面,主要需要考虑到以下几个方面:语法简单易学、开发效率高、支持性好、页面渲染速度快、交互效果丰富等。目前,最适合做app前端的语言有以下几种:1. JavaScriptJavaScript是一种动态、弱类型的编程语言,通过脚本代码
2023-05-18
直接把网站做成app是不是更方便
将网站做成APP可以带来一些优势,但也有一些劣势。首先,让我们来看一下网站与APP的不同点。网站可以通过浏览器访问,而APP需要安装到设备上。APP有较高的用户黏着度和便携性,因为APP在用户手机或平板电脑里长期存在,且用户可以轻松启动应用程序,并在离线环
2023-05-18
怎样做app网站
要制作一个app网站,需要遵循以下几个步骤:1. 确定网站类型和功能首先,需要确定网站的类型和功能。比如,是一款学习类的app网站,还是一款购物类的app网站,或者是提供服务类的app网站等等。在确定网站类型和功能后,需要制作网站的草图和结构图,以便更好地
2023-05-18
网站做成app在线
将网站做成app在线有两种主要的方式:一种是使用广泛的混合式应用;另一种是使用响应式设计。本文将分别介绍这两种方式的原理和详细操作。一、混合式应用原理和操作混合式应用是指使用HTML、CSS和JavaScript等web技术来制作应用程序。它可以运行在各种
2023-05-18
网页和app前端开发是做什么的呀
网页和app前端开发是计算机科学中非常重要的一部分。前端开发是指Web界面和移动应用程序的开发,其主要任务是利用各种Web技术(如HTML、CSS等)向用户呈现界面,并实现用户与业务逻辑之间的交互,使用户能够方便地操作Web应用程序。Web应用程序通常包括
2023-05-18
前端框架做app
前端框架通常用于构建网页应用程序,但它们也可以用于构建移动应用程序。事实上,有一些前端框架,如React Native 和 Ionic,专门旨在帮助开发人员用要求更少的代码构建移动应用程序。这些框架的工作原理与在网页上使用它们的方式略有不同,因此让我们深入
2023-05-18
免费把网站做成app的软件
网站将其转化为移动应用程序的过程并不是非常复杂,大部分的转化都可以采用非常简单的方法。本文将为大家介绍一种免费的方法将网站转化为应用程序,这种方法可以帮助博主们更好地推广自己的网站。首先需要用到的是一个叫作Web2App的软件,这个软件是一款基于云计算的移
2023-05-18
免费把网页做成app
把网页做成app,可实现在手机等移动设备中以更加直观、优雅的方式呈现网页内容。用户可通过添加网页app的方式将自己喜欢的网页直接置于手机桌面上,提高浏览便捷性,减少繁琐的操作。本文将详细介绍如何免费把网页做成app。一、原理网页app的实现主要依赖于HTM
2023-05-18
vue做混合模式app
混合模式app一般是指同时融合了H5页面和原生页面的应用程序,并且可以在不同平台上使用。Vue是一个非常适合用来做混合模式app的框架之一,因为它有原生页面开发的灵活性和H5页面开发的高速度和易扩展性。下面是关于Vue做混合模式app的原理和详细介绍。一、
2023-05-18
vue在手机app页面中做个弹框
在手机 App 页面中,弹框是非常常见的交互元素之一。Vue.js 作为一款流行的前端框架,提供了各种便捷的指令和组件,来实现弹框这个基本需求。本文将介绍在 Vue.js 中,如何实现手机 App 页面中的弹框。## 原理在手机 App 页面中,弹框通常是
2023-05-18
h5做app开发
H5开发(app)是一种基于Web技术的跨平台移动应用程序开发方式,其利用网页技术实现了原生应用的功能, 可以帮助开发者减少开发成本和周期,使得开发更加高效快捷。具体实现过程如下:1. 开发者编写一个H5页面,可以采用HTML、CSS、JavaScript
2023-05-18
©2015-2021 智电瑞创 蜀ICP备17039183号