免费试用

中文化、本土化、云端化的在线跨平台软件开发工具,支持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需要准备的步骤非常多,从数据的收集和用户体验的设计到技术的实现和安全的保证都需要认真考虑。以下是一个大致的步骤的介绍。1. 数据的收集和处理在做外卖app之前,需要考虑到需要哪些数据来支撑这个app的运作,比如商家的信息、菜品的信息、用
2023-05-18
做一个婚恋网站app需要多少钱
婚恋网站app是一款应用程序,旨在帮助单身人士寻找他们的配偶。凭借现代科技和互联网的便捷性,婚恋网站app已经深入人心,这也使得开发婚恋网站app的市场变得越来越大。那么做一个婚恋网站app需要多少钱呢?这取决于几个因素。首先,开发婚恋网站app需要一支开
2023-05-18
做h5还是做app
在移动端开发中,通常需要选择使用H5网页技术或Native App技术进行开发。选择哪一种技术应该取决于多方面的因素,例如预算、时间、业务需求和用户体验等。H5,即 HTML5,是一种基于标准化的Web技术开发,并在移动端进行应用的一种方式。H5在开发上使
2023-05-18
怎么用别人网站做app
现在持有智能手机的人越来越多,为此,开发者们开始关注如何将自己的网站转换为移动应用程序。在某些情况下,使用网站来创建应用程序可能是很方便的,特别是在推广网站的时候。下面将介绍如何使用第三方平台将网站转换为应用程序。一、AppSheetAppSheet是一种
2023-05-18
前端可以做app开发吗工作
前端开发通常是指通过使用HTML、CSS和JavaScript等技术,构建和实现Web应用程序的用户界面。但是,随着移动设备的普及,越来越多的Web应用程序需要在移动设备上进行访问和使用。在这种情况下,前端开发人员就需要考虑到移动应用程序的用户界面设计和开
2023-05-18
纯webview可以做app吗
纯 webview 可以做 app,但它与原生 app 相比可能存在一些限制和问题。本文将为您介绍纯 webview 的定义、实现原理以及其与原生 app 相比的优缺点,希望能帮助您更好地理解和使用它。**什么是纯 webview**Webview 是 A
2023-05-18
创业做网站app开发
创业做网站和APP开发,是当今互联网时代非常热门的创业方式之一。随着互联网技术的迅猛发展,人们对数字化生活的需求不断增加,而网站和APP作为数字化生活的入口,也随之受到越来越多的关注。想要通过网站和APP创业,需要具备以下几个方面的知识。一、技术基础要想做
2023-05-18
采集app做网站
现今,随着互联网技术的快速发展,越来越多的人开始关注如何使用技术手段快速获取互联网上的信息。而一些热门的APP,如微信、抖音、淘宝等平台的数据来源就非常丰富,因此想要从这些APP上采集数据并应用到网站上成为了众多站长和企业的共同需求。那么,我们该如何进行A
2023-05-18
web开发之后做成app
随着移动互联网的发展,越来越多的网站开始向移动平台迁移,将自己的网站变成移动App成为趋势。那么,怎样将网站变成移动App呢?下面我将对此进行介绍。一、Web App介绍Web App是指使用Web技术开发的应用程序,通过浏览器访问运行。Web App是一
2023-05-18
vue在手机app页面中做个弹框
在手机 App 页面中,弹框是非常常见的交互元素之一。Vue.js 作为一款流行的前端框架,提供了各种便捷的指令和组件,来实现弹框这个基本需求。本文将介绍在 Vue.js 中,如何实现手机 App 页面中的弹框。## 原理在手机 App 页面中,弹框通常是
2023-05-18
react和vue做app
React和Vue.js是目前最热门的前端框架之一,它们俩都有着很多相似的特性和架构,同时也有一些不同之处。在这篇文章中,我们将详细介绍React和Vue.js在移动应用开发方面的原理和实现方式。React NativeReact Native是由Face
2023-05-18
h5做app tv
HTML5 是目前最流行的 Web 标准之一,是一种用于在 Web 上创建内容的核心技术。如今,HTML5 已经成为移动 App 开发的重要技术,特别是 TV App 的开发。TV App 是指在电视等大屏幕设备中运行的应用程序。本文将重点介绍如何使用 H
2023-05-18
©2015-2021 智电瑞创 蜀ICP备17039183号