js的touch事件的实际引用

yizhihongxing

下面我将为你详细讲解JS的touch事件实际引用的攻略。

一、什么是Touch事件?

Touch事件是一种移动端特有的事件,它包括了以下几个事件:

  • touchstart: 手指触摸屏幕时触发的事件
  • touchmove: 手指在屏幕上滑动时触发的事件
  • touchend: 手指从屏幕上离开时触发的事件
  • touchcancel: 触摸被意外取消时触发的事件,如页面被弹框打断

二、Touch事件的实际引用

Touch事件的实际引用非常广泛,下面给出两个示例说明:

1. 点击事件

采用Touch事件来处理点击事件可以避免设备的300毫秒点击延迟,提高用户的体验。

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Touch事件示例 - 点击事件</title>
    <style>
        #box {
            width: 200px;
            height: 200px;
            background-color: gray;
            text-align: center;
            line-height: 200px;
            font-size: 20px;
            color: white;
        }
    </style>
</head>
<body>
    <div id="box">点击我</div>
    <script>
        var box = document.getElementById('box');
        var isMoving = false;
        box.addEventListener('touchstart', function(e) {
            isMoving = false;
        });
        box.addEventListener('touchmove', function(e) {
            isMoving = true;
        });
        box.addEventListener('touchend', function(e) {
            if (!isMoving) {
                alert('点击了盒子!');
            }
        });
    </script>
</body>
</html>

2. 触摸滑动事件

利用Touch事件可以轻松实现触摸滑动事件,通过计算触摸事件的偏移量来实现页面的平滑移动。

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Touch事件示例 - 触摸滑动事件</title>
    <style>
        #box {
            width: 100%;
            height: 300px;
            overflow-x: hidden;
            white-space: nowrap;
            font-size: 0;
        }
        #box > img {
            width: 100%;
            display: inline-block;
        }
    </style>
</head>
<body>
    <div id="box">
        <img src="https://picsum.photos/id/100/800/300" alt="">
        <img src="https://picsum.photos/id/200/800/300" alt="">
        <img src="https://picsum.photos/id/300/800/300" alt="">
    </div>
    <script>
        var box = document.getElementById('box');
        var start = 0;
        var end = 0;
        box.addEventListener('touchstart', function(e) {
            start = e.touches[0].pageX;
        });
        box.addEventListener('touchmove', function(e) {
            end = e.touches[0].pageX;
            var offset = end - start;
            box.style.transform = 'translateX(' + offset + 'px)';
        });
        box.addEventListener('touchend', function(e) {
            start = 0;
            end = 0;
            box.style.transform = 'translateX(0)';
        });
    </script>
</body>
</html>

以上就是Touch事件实际引用的攻略,希望对您有所帮助!

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:js的touch事件的实际引用 - Python技术站

(0)
上一篇 2023年6月11日
下一篇 2023年6月11日

相关文章

  • Javascript Date prototype 属性

    JavaScript 中的 Date 对象是一个内置对象,它包含了一些有用的属性和方法,可以用于处理日期和时间。其中,Date.prototype 属性是一个对象,它允许您 Date 对象添加自定义属性和方法。在本教程中,我们将详细介绍 Date.prototype 属性的使用方法。 Date.prototype 属性的基本语法如下: Date.protot…

    JavaScript 2023年5月11日
    00
  • Three.Js实现看房自由小项目

    Three.js实现看房自由小项目攻略 介绍 Three.js是一个基于WebGL的JavaScript 3D库,它可以帮助我们在Web端实现非常炫酷的3D视觉效果,完美地展现产品的三维模型,同时支持丰富的材质、灯光、粒子等效果,可以方便地实现交互效果。 在这篇攻略中,我们将使用Three.js来实现一个看房自由小项目。这个小项目将会模拟一个虚拟房屋,让用户…

    JavaScript 2023年6月11日
    00
  • JavaScript中的匀速运动和变速(缓冲)运动详细介绍

    针对“JavaScript中的匀速运动和变速(缓冲)运动详细介绍”的攻略,我先来给大家解析相关概念,再介绍示例演示。 第一部分:匀速运动与变速(缓冲)运动介绍 什么是匀速运动? 匀速运动是指物体在单位时间内走过相同的路程,即走过路程与时间成正比。在JavaScript中,可以通过changeTo函数实现匀速动画效果,其特点为速度不变,使得动画运动的路径是一条…

    JavaScript 2023年6月10日
    00
  • 详解ES6 CLASS在微信小程序中的应用实例

    详解ES6 Class在微信小程序中的应用实例 介绍 ES6 Class 是用来创建对象的模板,它具有面向对象编程的特性,使代码更加清晰、易于维护和扩展。在微信小程序开发中,使用 ES6 Class 可以大大提升代码的可读性和可维护性。 ES6 Class 的基本用法 ES6 Class 的基本语法如下: class MyClass { constructo…

    JavaScript 2023年6月11日
    00
  • JavaScript history 对象详解

    JavaScript history 对象详解 什么是 history 对象? history 对象是浏览器的一部分,它存储了用户在浏览器窗口中所访问过的 URL。它提供了一些方法来操作该历史记录,例如前进、后退和重新加载等。当用户点击浏览器的后退或前进按钮时,这些方法就会被触发,并导航到相应的 URL。history 对象是 window 对象的一个属性,…

    JavaScript 2023年5月27日
    00
  • js智能获取浏览器版本UA信息的方法

    获取浏览器版本 UA 信息是前端工程师在日常开发中经常会用到的技能之一。下面提供几种获取浏览器版本的方法。 1. navigator.userAgent navigator.userAgent 返回浏览器的用户代理字符串,通过解析这个字符串可以获取到浏览器的所有信息,包括浏览器类型、版本以及操作系统信息等。因此,这里用正则表达式进行版本号的提取。 const…

    JavaScript 2023年6月11日
    00
  • 一篇搞懂Vue2、Vue3响应式源码的原理

    “一篇搞懂Vue2、Vue3响应式源码的原理”攻略 背景 在学习Vue.js框架时,Vue的响应式系统是一个至关重要的概念,它支持Vue的组件可以动态地响应数据的变化,而不需要手动去修改DOM。 Vue的响应式系统在Vue2和Vue3中有所不同,因此本文将深入讲解Vue2和Vue3中响应式系统的工作原理,以及如何手动实现一个简单的响应式系统。 Vue2中的响…

    JavaScript 2023年6月11日
    00
  • javascript 使用正则test( )第一次是 true,第二次是false

    JavaScript中的正则表达式是一种用于匹配文本模式的强大工具。test()方法是一种用于判断一个字符串是否匹配某个正则表达式的方法。当第一次调用test()方法时,结果为true,而在第二次调用test()方法时,结果为false,这是为什么呢? 正则表达式对象的lastIndex属性 在JavaScript中,正则表达式对象具有一个名为lastInd…

    JavaScript 2023年6月10日
    00
合作推广
合作推广
分享本页
返回顶部