免费试用

中文化、本土化、云端化的在线跨平台软件开发工具,支持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前端开发是指使用各种前端开发技术和工具来开发移动应用程序的前端部分。前端部分是指用户界面,用户交互和数据可视化等部分。其中,前端技术主要包括HTML、CSS和JavaScript。HTML是一种用于构建网页内容的标记语言,CSS是一种用于美化网页
2023-05-18
做app网站建设文档介绍内容
App网站建设是一个涉及多个方面的过程,需要包括前端设计、后端开发、服务器部署、安全性保障等多个环节。在这篇文章中,我将详细介绍App网站建设的整个过程及其原理。一、前端设计前端设计是App网站建设的第一步,其主要任务是设计并开发网站的前端界面和交互功能。
2023-05-18
做app跟做网站哪个简单
做app和做网站都是需要技术和时间投入的工作。两者都拥有自己的优势和劣势。下面我将从原理和详细介绍两个方面来比较哪个更简单。 一、原理比较 1、技术难度 网站的开发技术相对来说比app简单。网站大部分都使用HTML、CSS、JavaScript等前端语言进
2023-05-18
用vue做的app
Vue.js 是一款渐进式的JavaScript框架,它能够让你构建简单到复杂的Web应用。Vue.js 具有简洁明了的 API 和先进的特性,让前端开发变得更加简单。Vue.js的基本原理是“数据驱动视图”,它将DOM和data做了双向绑定,保证了数据与
2023-05-18
网站app自做
随着智能设备的普及,越来越多的用户通过手机、平板电脑等手持设备上网,这也就导致了移动端APP越来越多的需求。无论是企业还是个人,都可以通过自主开发APP来提高业务水平和服务质量,所以对于互联网领域的网站博主来说,学会如何自做网站App也是非常有必要的。网站
2023-05-18
如何做一个app网站
想要做一个app网站需要掌握一些前端和后端编程知识,还需要了解一些Web开发的基础知识。下面将详细介绍如何做一个app网站。一、确定网站需求和功能在着手做网站之前,首先需要明确你的网站是提供哪些功能和服务的。这样有一个明确的需求,可以更好的设计网站架构和功
2023-05-18
前端做原生app
前端开发是一种面向用户端的开发,它主要是通过使用HTML、CSS、JavaScript等技术来实现网站或网页的开发。而原生app开发则是指在移动设备上,使用特定的编程语言和技术来开发具有原生性能的应用程序。本文将介绍前端如何实现原生app的开发。一、前端a
2023-05-18
免费网站做app
自从智能手机开始流行,移动应用开发越来越成为热门的技术领域。许多人想要开发自己的应用程序,以实现他们的创意想法或商业计划。但是,开发一个应用是一个非常耗时和繁琐的过程。对于只是为了快速入门或想要简单的应用程序的人来说,这可能会成为阻碍。因幸运的是,现在有许
2023-05-18
不懂代码怎么给网站做app
在当前移动互联网时代,发展移动端应用成为趋势。很多人开始转向移动端开发,希望能够为自己的网站做出一个APP,在获取更大的用户群体同时,为网站带来更大的流量。但是,对于不懂编程的人来说,怎么才能给网站做APP呢?下面我们来介绍一些基本的原理和方法。一、什么是
2023-05-18
vue 做app
Vue.js 是一款流行的渐进式 JavaScript 框架,专为构建用户界面而设计。它采用了一系列响应式的组件和数据绑定系统,使得开发者可以轻松地构建 SPA(单页应用程序)和 MOBILE APP。Vue.js 与其他框架相比,最大的不同是其强大的 M
2023-05-18
php怎么做成app
将一个网页应用程序或动态网站转变为移动应用程序并不是一个简单的任务,但是如果您有一些基本的Web开发技能,您可以使用一些工具和技术来实现这一目标。现在,我们将讨论如何使用PHP来开发移动应用程序。PHP是一种开源、服务器端、脚本编程语言,适用于Web开发和
2023-05-18
©2015-2021 智电瑞创 蜀ICP备17039183号