JavaScript处理移动web交互

news2024/11/22 12:06:13

touch对象和touchevent

touch事件

在这里插入图片描述

touch对象

每一次发生touch事件时就会产生一个touch对象,类似事件处理函数中的事件对象。

<div class=" ">
    <button class="child" style="height: 400px; width: 400px">我是按钮</button>
</div>

<script type="text/javascript">
    //原生js中的touch时间
    var btn = document.querySelector('button');
    //触摸开始 调用
    btn.addEventListener('touchstart',function(ev){
        console.log('js start');
    })
    //触摸过程中调用
    btn.addEventListener('touchmove',function () {
        console.log('js move');
    })
    //触摸结束时调用
    btn.addEventListener('touchend',function () {
        console.log('js end');
    })
</script>
touch和click的区别

touchstart:在这个 dom 上手指触摸开始时即触发。
click:在这个 dom 上手指触摸开始,且手指未曾在屏幕上移动,且在这个 dom 上手指离开屏幕,以及触摸和离开屏幕之间的间隔时间较短才能触发。

touchlist

touchList 接口表示触摸表面上的接触点列表。例如,如果用户在触摸表面(例如屏幕或触控板)上有三个手指,则对应的 touchList 对象将为每个手指提供一个 touch 对象,总共三个条目。

touchList.item()返回列表中指定索引处的 touch 对象。
可以找到指定 touch 对象,进行相关的操作

PS:注意浏览器兼容性的问题

起点、终点、滑动方向检测

通过 touch 事件,进行初始位置以及滑动位置的判断,规定对应的移动方向。

起点与终点

起点:当开始一个 touchstart 事件的时候,获取此刻手指的横坐标 startX和纵坐标startY
终点:当开始一个 touchend 事件的时候,获取此刻手指的横坐标 startX和纵坐标startY。

方向检测
利用初始坐标点与终止坐标点进行对比判断,X 与 对比,y 与y 对比,然后根据结果比较谁移动的最多,判断具体方向

PS:注意关闭浏览器的默认事件

不要用 alert,用 console.log,alert 会阻止代码执行。
屏蔽浏览器自有事件:
在这里插入图片描述

加速度方向的检测

检测设备方向

在这里插入图片描述
选择数值:
window.orientation 的值为0表示直立90表示设备水平旋转到左边,-90表示设备水平旋转到右边。
180表示设备顺时针旋转到底部,-180表示设备逆时针旋转到底部。
在这里插入图片描述

加速度事件

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/575698.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

OneNote:隐藏OneNote笔记右边的作者和更新时间

OneNote在其他电脑登录后同步笔记&#xff0c;会在笔记右边显示用户名称和更新时间&#xff0c;消除方法如下&#xff1a; 在顶部找到历史记录&#xff0c;点击隐藏作者即可&#xff1a; 隐藏后效果&#xff1a; 说明&#xff1a; 1、用于window10系统。

Mybatis源码的理解

文章目录 0.核心的包1.1 配置文件mybatis-config.xml1.2 配置文件解析将配置文件转化为输入流,将 xml转化Configuration类.解析配置对应的标签为Configuration的属性Configuration的核心类的属性 1.3 解析完成查询之后的configurationenvironment类sqlFragments类mapperRegistr…

(转载)基于量子遗传算法的函数寻优算法

8.1 理论基础 8.1.1 量子遗传算法概述 量子遗传算法(quantum genetic algorithm,QGA)是量子计算与遗传算法相结合的产物&#xff0c;是一种新发展起来的概率进化算法。遗传算法是处理复杂优化问题的一种方法&#xff0c;其基本思想是模拟生物进化的优胜劣汰规则与染色体的交…

结构型设计模式02-代理模式

✨作者&#xff1a;猫十二懿 ❤️‍&#x1f525;账号&#xff1a;CSDN 、掘金 、个人博客 、Github &#x1f389;公众号&#xff1a;猫十二懿 代理模式 1、不使用代理模式 举例说明&#xff1a;小明喜欢一个女生&#xff08;小红&#xff09;&#xff0c;因为小红不认识小明…

【数据结构】初步了解排序

Yan-英杰的主页 悟已往之不谏 知来者之可追 C程序员&#xff0c;2024届电子信息研究生 目录 1.排序的概念及其运用 1.1排序的概念 2.常见排序算法的实现 2.1插入排序 2.2希尔排序 问题:gap是多少合适&#xff1f; 1.排序的概念及其运用 1.1排序的概念 排序&#xff1a;所…

App上架流程

准备 开发者账号完工的项目 上架步骤 一、创建App ID二、创建证书请求文件 &#xff08;CSR文件&#xff09;三、创建发布证书 &#xff08;CER&#xff09;四、创建Provisioning Profiles配置文件 &#xff08;PP文件&#xff09;五、在App Store创建应用六、打包上架 一、…

设置linux的时间

目录 一、什么是时间 &#xff08;1&#xff09;例子1 &#xff08;2&#xff09;例子2 二、什么是本地时间 三、linux设置本地时间的方法 &#xff08;1&#xff09;方式一&#xff1a;通过互联网自动同步 1.修改时间同步服务器 2.查看时间同步情况 &#xff08;2&…

自动化测试1

目录 1.什么是自动化测试 1.1自动化分类 1.1单元测试 1.2接口测试 1.3UI自动化测试 2.selenium 1.什么是selenium 2.selenium的特点 3.工作原理 3.seleniumJava 1.搭建 1.查看Chrome版本 2.下载Chrome浏览器驱动 3.配置,放到该目录下 2.验证是否搭建成功 1.什么是…

springboot 集成jwt的使用

1.JWT介绍 JWT&#xff08;JSON Web Token&#xff09;是一种基于JSON格式的身份验证和授权标准&#xff0c;经常用于Web应用程序中的用户身份验证。JWT由三个部分组成&#xff1a;头部、载荷和签名。头部包含算法和类型信息&#xff0c;载荷包含用户数据和元数据&#xff0c;…

tolua源码分析(六) C#委托使用lua函数的机制实现

tolua源码分析&#xff08;六&#xff09; C#委托使用lua函数的机制实现 上一节我们讨论lua层如何使用C#的enum以及使用enum需要注意的事项。这一节我们将讨论项目日常开发中经常会用到的委托注册机制&#xff0c;即C#层暴露若干委托和事件&#xff0c;然后在lua层进行注册&…

【沐风老师】3DMAX宇宙生成器(一键生成星系)插件使用方法详解

3DMAX宇宙生成器&#xff08;一键生成星系&#xff09;插件 3DMAX宇宙生成器&#xff08;一键生成星系&#xff09;插件&#xff0c;用于模拟星团及星系的运动。可以创建单个集合进行动画计算&#xff0c;也可以输入不同坐标&#xff0c;建立多个集合后统一进行动画计算。 【安…

探索iOS之CoreImage框架

CoreImage提供图像处理、人脸识别、图像增强、图像滤镜、图像转场。它操作的数据来自Core Graphics、Core Video、Image IO&#xff0c;使用CPU或GPU进行渲染。CoreImage对底层实现进行封装&#xff0c;为上层提供简单易用的API。 一、CoreImage框架 CoreImage框架分为&#…

计算机电脑中了勒索病毒,如何提高windows系统预防faust勒索病毒的能力

当今社会互联网技术迅猛发展&#xff0c;但随之而来的网络安全问题开始引起人们的重视&#xff0c;其中,勒索软件是当前网络安全领域中最具破坏性和危害性的恶意软件之一&#xff0c;而Faust勒索软件就是其中一种。 Faust勒索病毒是一种很可怕的恶意软件&#xff0c;能够破坏并…

计算机网络 - 网络层的数据平面

Overview 首先Network Layer负责的是host to host的传输, 然后可以分为两个平面, 控制平面以及数据平面. 数据平面: 负责forward datagrams from input to output links 决定路由器从input到output 转发功能: 基于目标地址 转发表 SDN方式基于多个字段流表 控制平面: 调…

第10届蓝桥杯Scratch省赛真题集锦

编程题 第 1 题 问答题 击鼓游戏 题目说明 准备工作: 将复台背景设置为“spotight-stage”&#xff0c;添加一个“Belerina"角色、两个“Drum1"角色和两个“Drum2”角色&#xff0c;并按照图 7-1 的位置摆放。角色“Beleina"的造型和颜色的设置须如图 7-1所示&a…

美女放电还是整形-从《人月神话》误译谈状态机图

DDD领域驱动设计批评文集 欢迎加入“软件方法建模师”群 《软件方法》各章合集 在重审《人月神话》中译本的过程中&#xff0c;发现一处较严重的误译。 原文是&#xff1a; the first milepost is not reached until two months have elapsed. 原译为&#xff1a; 两个月…

Java中常量基础知识

1 问题 什么是字面常量&#xff1f; 2 方法 拿第一行输出语句来说&#xff0c;这行代码输出了 “hello” 这个字符串&#xff0c;无论何时何地运行程序&#xff0c;输出的这个字符串都不会变&#xff0c;这就是字面常量。 定义&#xff1a;常量即程序运行期间&#xff0c;固定不…

chatgpt网站优选集合

目录 chatGpt 国内镜像网站集合 chatgpt接入微信 chatgpt接入谷歌浏览器 chatgptAI绘画 最后 chatGpt 这个说实话&#xff0c;不用我介绍大家也都懂。不如玩一个有意思的&#xff0c;这里我让chatGpt自己介绍一下他自己&#xff1a; 嗨&#xff0c;大家好&#xff0c;我是…

C++ [STL之vector模拟实现]

本文已收录至《C语言和高级数据结构》专栏&#xff01; 作者&#xff1a;ARMCSKGT STL之vector模拟实现 前言正文空间结构默认成员函数构造函数拷贝构造函数赋值重载析构函数关于数据拷贝问题 迭代器容量操作查询容量容量操作 数据访问下标访问头尾数据访问 数据增删尾插尾删重…

学懂缓存雪崩,缓存击穿,缓存穿透仅需一篇,基于Redis讲解

在了解缓存雪崩、击穿、穿透这三个问题前&#xff0c;我们需要知道为什么我们需要缓存。在了解这三个问题后&#xff0c;我们也必须知道使用Redis时&#xff0c;如何解决这些问题。 所以我将按照"为什么我们需要缓存"、"什么是缓存雪崩、击穿、穿透"、&qu…