免费试用

中文化、本土化、云端化的在线跨平台软件开发工具,支持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都有其难点,具体哪个更难要视情况而定。下面来具体分析一下。网站是基于web技术,主要运用HTML、CSS、JavaScript等前端技术和服务器端的编程语言(如PHP、Python、Java等)开发出来的,而且网站的开发与发布过程相对来说较
2023-05-18
怎么把app做成网页版的
将一个App做成网页版主要是为了让用户能够在电脑上或者没有安装该App的设备上使用该App的功能。有些App为了解决这一问题会开发和推出对应的Web应用,这些Web应用在功能、性能和使用体验上都与原本的App保持一致。下面将介绍两种将App做成Web应用的
2023-05-18
怎么把自己做的app放到网页上
将自己做的 App 放置在网页上,其实就是将 App 转化为网页可识别的格式或者使用 Web 技术重新开发一个新的网站。下面分别介绍这两种方式。1. 将 App 转换为网页可识别的格式这种方式适用于 App 没有大量复杂业务逻辑,主要以展示为主的场景,比如
2023-05-18
应该先做网页还是app
在选择开发网页还是应用程序时,需要考虑多个方面。本文将从技术难度、适用场景、开发成本和用户体验等角度介绍两者的优缺点,以便读者可以更好地决定。1. 技术难度相对于应用程序,网页开发技术门槛更低。对于一些简单的网站建设,只需要熟悉 HTML、CSS、Java
2023-05-18
用html5做app的话
HTML5可以用于构建跨平台的移动应用程序。通过使用HTML5和其他网络技术,可以轻松构建跨平台、可访问和移动应用程序。这些应用程序可以使用各种设备和浏览器访问,而不需要下载和安装。以下是使用HTML5构建跨平台移动应用程序的一些步骤:1.选择编程工具:使
2023-05-18
在用html5做app时
HTML5是“超文本标记语言第五版”的缩写,是一种Web标准语言。它可以使我们开发应用程序,而不仅仅是传统的网站。 使用HTML5可以开发Web应用程序、移动应用程序等。其中,使用HTML5开发应用程序的最基本方法之一是使用所谓的“混合应用程序”。混合应用
2023-05-18
网站后台怎么做成手机app
要将网站后台变成手机App,可以选择两种方式:一种是通过网页转App的工具,另一种是使用开发工具手动开发。第一种方式是最为常见的一种,而且也是最为简单的方式之一,它是利用类似于云端编译的方式来完成App的生成。具体步骤如下:1.选择网页转App的平台,例如
2023-05-18
网页做成app的教程
网页做成app(即将一个网页封装成一个独立的手机应用程序)是一项非常有用的技能。许多网站拥有大量的用户,在移动端上为他们提供更好的用户体验,便捷的访问方式和更好的性能将大大提高他们的用户满意度。本文将介绍怎样将一个网页转换为手机应用程序。1. 什么是PWA
2023-05-18
手机app前端工程师都能做什么
手机app前端工程师是一个相对新兴的职业,但是和PC端前端开发工程师一样,需要掌握前端开发技术。不同的是,手机app前端工程师需要掌握移动开发技术和各种手机端开发框架,以便可以开发适用于手机端的应用程序。以下是手机app前端工程师应该掌握的技术:1. HT
2023-05-18
手机app网站做
手机APP网站是一种新型的网站类型,它可以通过手机浏览器来访问,在外观和功能都设计了符合手机用户使用习惯的界面和工具。与传统网站相比,手机APP网站更加轻便、快捷、易用,可以方便用户使用。手机APP网站采用移动响应式设计(Responsive Design
2023-05-18
赣州网站app开发要多长时间才能做完
网站和App开发的时间会受到多种因素的影响,例如项目的规模、功能的复杂程度、开发者的技能水平等等。因此,准确预计开发时间需要结合具体情况进行考虑。一般情况下,一个中小型的网站或App开发项目需要花费数周到数月不等的时间完成。以下是开发一个网站或App所需的
2023-05-18
vuex做app
Vuex是Vue.js的状态管理库,主要使用于大型单页应用程序(SPA)。Vuex可以将所有组件的状态集中在一个地方进行管理,使得应用程序的整个状态变得非常清晰、易于理解。在Vuex中,我们不需要通过事件或传递 props 来同步不同组件状态。这种状态集中
2023-05-18
©2015-2021 智电瑞创 蜀ICP备17039183号