Js 功能-理解滑动手势事件 |学习笔记

简介: 快速学习 Js 功能-理解滑动手势事件

开发者学堂课程【移动 Web 前端开发:Js 功能-理解滑动手势事件】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/594/detail/8425


Js 功能-理解滑动手势事件

内容介绍

一、滑动效果分析

二、滑动逻辑

三、代码设置


一、滑动效果分析

1、滑动效果是如何实现的

2、理解手势事件

从当前轮播图看,可以理解到移动端常见的滑动是如何实现的,也就是 tap 事件加上位移。

依靠  touch 相关事件,根据触摸位置的改变,改变对应元素的位移 translate

 

二、滑动逻辑

1.无缝滚动&无缝滑动(定时器过渡位移)

2.点盒子对应改变(改变当前样式)

3.可以滑动( touch 事件监听触摸点坐标改变距离位移)

4.当滑动距离不够的时候吸附回去(过渡位移)

5.当滑动距离够了的时候,跳转上一张下一张(判断方向过渡位移)

 

三、代码设置

1、滑动效果是如何实现的:

/*滑动*/

/*基于当前的位置*/

/*计算将要去做定位*/

var translate X = -index*width +distance X;

/*清除过渡*/

remove Transition();

/*做定位*/

set Translate x(translate x);

2、理解手势事件:

中心点往右滑动超过50,可以理解成向右滑,中心点往左滑超过50,可以理解成向左滑;中心点往上滑超过50,可以理解成向上滑,同上,中心点往下滑超过50,可以理解成向下滑。

<! DOCTYPE html>

<html>

<head lang="en">

<meta charset="UTF-8">

<meta name="viewport"content="width=device-width,user-scalable=no,initial-scale=1.0,maximum-scale=1.0,

(1)title 理解手势事件

</title>

<style>

body{

margin: o;

padding: o;

}

div{

width: 100%;

height: 200px;

background: red;

}

</style></ head><body>

<div></div><script>

Window .onload = function() {

var dom = document .query selector( 'div');

/绑定事件组/

(2)手势事件的条件:

/必须滑动过/

/滑动的距离超过50px/

(3)衍生出左滑和右滑手势事件

var start x = o;

var distance x = 0

var is Move = false;

dom .add Event Listener( 'touch s tant ' ,function(e){

star tx = e. touches[o].clientx;

});

dom. Add Event Listener( 'touch moxe ' ,function(e){

var move x = e .touches[o].client x;

dis tance x = move x – start x;

is Move = true;

});

dom. Add Event Listener( "touch end" ,function(e){

if( is Move && Math .abs (dis tancex) >= 50){

if(dis tancex >O){

console.log('右滑事件')

}

else{

console. log('左滑事件')

}

(重置参数,因为移动一点是不算滑动的)

Start x = o;

Distance x = 0

Is Move = false

相关文章
|
9月前
|
JSON 自然语言处理 前端开发
【01】对APP进行语言包功能开发-APP自动识别地区ip后分配对应的语言功能复杂吗?-成熟app项目语言包功能定制开发-前端以uniapp-基于vue.js后端以laravel基于php为例项目实战-优雅草卓伊凡
【01】对APP进行语言包功能开发-APP自动识别地区ip后分配对应的语言功能复杂吗?-成熟app项目语言包功能定制开发-前端以uniapp-基于vue.js后端以laravel基于php为例项目实战-优雅草卓伊凡
511 72
【01】对APP进行语言包功能开发-APP自动识别地区ip后分配对应的语言功能复杂吗?-成熟app项目语言包功能定制开发-前端以uniapp-基于vue.js后端以laravel基于php为例项目实战-优雅草卓伊凡
|
8月前
|
JavaScript 前端开发 Java
【Java进阶】详解JavaScript事件
总的来说,JavaScript事件是JavaScript交互设计的核心,理解和掌握JavaScript事件对于编写高效、响应式的网页应用至关重要。
160 15
|
9月前
|
前端开发 JavaScript
【Javascript系列】Terser除了压缩代码之外,还有优化代码的功能
Terser 是一款广泛应用于前端开发的 JavaScript 解析器和压缩工具,常被视为 Uglify-es 的替代品。它不仅能高效压缩代码体积,还能优化代码逻辑,提升可靠性。例如,在调试中发现,Terser 压缩后的代码对删除功能确认框逻辑进行了优化。常用参数包括 `compress`(启用压缩)、`mangle`(变量名混淆)和 `output`(输出配置)。更多高级用法可参考官方文档。
672 11
|
11月前
|
JavaScript 前端开发 安全
盘点原生JS中目前最没用的几个功能API
在JavaScript的发展历程中,许多功能与API曾风光无限,但随着技术进步和语言演化,部分功能逐渐被淘汰或被更高效的替代方案取代。例如,`with`语句使代码作用域复杂、可读性差;`void`操作符功能冗余且影响可读性;`eval`函数存在严重安全风险和性能问题;`unescape`和`escape`函数已被`decodeURIComponent`和`encodeURIComponent`取代;`arguments`对象则被ES6的剩余参数语法替代。这些变化体现了JavaScript不断优化的趋势,开发者应紧跟技术步伐,学习新技能,适应新技术环境。
222 10
|
11月前
|
JavaScript 前端开发 测试技术
盘点原生JavaScript中直接触发事件的方式
本文全面探讨了原生JavaScript中触发事件的多种方式,包括`dispatchEvent`、`Event`构造函数、`CustomEvent`构造器、直接调用事件处理器以及过时的`createEvent`和`initEvent`方法。通过技术案例分析,如模拟点击事件、派发自定义数据加载事件和实现提示框系统,帮助开发者掌握这些方法在实际开发中的应用,提升灵活性与兼容性。
410 3
|
12月前
|
JavaScript 容器
带方向感知功能的js图片遮罩层插件
带方向感知功能的js图片遮罩层插件
|
11月前
|
JavaScript 前端开发
【Vue.js】监听器功能(EventListener)的实际应用【合集】
而此次问题的核心就在于,Vue实例化的时机过早,在其所依赖的DOM结构尚未完整构建完成时就已启动挂载流程,从而导致无法找到对应的DOM元素,最终致使计算器功能出现异常,输出框错误地显示“{{current}}”,并且按钮的交互功能也完全丧失响应。为了让代码结构更为清晰,便于后续的维护与管理工作,我打算把HTML文件中标签内的JavaScript代码迁移到外部的JS文件里,随后在HTML文件中对其进行引用。
178 8
|
JavaScript 前端开发 容器
jQuery多功能滑块插件r-slider.js
r-slider.js是一款jQuery多功能滑块插件。使用该插件,可以制作出滑块、开关按钮、进度条、向导步骤等多种效果。
190 5
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp的客户关系管理系统附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp的客户关系管理系统附带文章源码部署视频讲解等
296 2
|
JavaScript 前端开发
JavaScript中的原型 保姆级文章一文搞懂
本文详细解析了JavaScript中的原型概念,从构造函数、原型对象、`__proto__`属性、`constructor`属性到原型链,层层递进地解释了JavaScript如何通过原型实现继承机制。适合初学者深入理解JS面向对象编程的核心原理。
235 1
JavaScript中的原型 保姆级文章一文搞懂