JS手机端touch事件计算滑动距离的方法示例


Posted in Javascript onOctober 26, 2017

本文实例讲述了JS手机端touch事件计算滑动距离的方法。分享给大家供大家参考,具体如下:

计算手势在手机屏幕上滑动时,手势滑动的距离,代码如下:

function wetherScroll(){
    var startX = startY = endX =endY =0;
    var body=document.getElementsByTagName("body");
    body.bind('touchstart',function(event){
      var touch = event.targetTouches[0];
      //滑动起点的坐标
      startX = touch.pageX;
      startY = touch.pageY;
      // console.log("startX:"+startX+","+"startY:"+startY);
    });
    body.bind("touchmove",function(event){
      var touch = event.targetTouches[0];
      //手势滑动时,手势坐标不断变化,取最后一点的坐标为最终的终点坐标
        endX = touch.pageX;
        endY = touch.pageY;
        // console.log("endX:"+endX+","+"endY:"+endY);
    })
    body.bind("touchend",function(event){
      var distanceX=endX-startX,
        distanceY=endY - startY;
        // console.log("distanceX:"+distanceX+","+"distanceY:"+distanceY);
        //移动端设备的屏幕宽度
        var clientHeight; =document.documentElement.clientHeight;
        // console.log(clientHeight;*0.2);
        //判断是否滑动了,而不是屏幕上单击了
        if(startY!=Math.abs(distanceY)){
 //在滑动的距离超过屏幕高度的20%时,做某种操作
          if(Math.abs(distanceY)>clientHeight*0.2){
 //向下滑实行函数someAction1,向上滑实行函数someAction2
          distanceY <0 ? someAction1():someAction2();
        }
        }
        startX = startY = endX =endY =0;
    })
}

希望本文所述对大家JavaScript程序设计有所帮助。

Javascript 相关文章推荐
javascript 模式设计之工厂模式学习心得
Apr 27 Javascript
jquery向上向下取整适合分页查询
Sep 06 Javascript
Bootstrap基本样式学习笔记之标签(5)
Dec 07 Javascript
原生JS实现垂直手风琴效果
Feb 19 Javascript
jquery加载单文件vue组件的方法
Jun 20 jQuery
关于JavaScript语句后面的分号问题
Dec 07 Javascript
jQuery添加新内容的四个常用方法分析【append,prepend,after,before】
Mar 19 jQuery
WEEX环境搭建与入门详解
Oct 16 Javascript
html+vue.js 实现漂亮分页功能可兼容IE
Nov 07 Javascript
vue 在单页面应用里使用二级套嵌路由
Dec 19 Vue.js
Vue过滤器(filter)实现及应用场景详解
Jun 15 Vue.js
JavaScript实现二叉树的先序、中序及后序遍历方法详解
Oct 26 #Javascript
JavaScript实现树的遍历算法示例【广度优先与深度优先】
Oct 26 #Javascript
详述 Sublime Text 打开 GBK 格式中文乱码的解决方法
Oct 26 #Javascript
node.js的exports、module.exports与ES6的export、export default深入详解
Oct 26 #Javascript
详解Webstorm 新建.vue文件支持高亮vue语法和es6语法
Oct 26 #Javascript
Node.js中环境变量process.env的一些事详解
Oct 26 #Javascript
Sublime Text新建.vue模板并高亮(图文教程)
Oct 26 #Javascript
You might like
由php if 想到的些问题
2008/03/22 PHP
php 自写函数代码 获取关键字 去超链接
2010/02/08 PHP
检查用户名是否已在mysql中存在的php写法
2014/01/20 PHP
Linux下PHP安装mcrypt扩展模块笔记
2014/09/10 PHP
php常用hash加密函数
2014/11/22 PHP
PHP定时执行任务的3种方法详解
2015/12/21 PHP
用PHP的socket实现客户端到服务端的通信实例详解
2017/02/04 PHP
php 广告点击统计代码(php+mysql)
2018/02/21 PHP
laravel 数据迁移与 Eloquent ORM的实现方法
2019/04/12 PHP
jQuery使用技巧简单汇总
2013/04/18 Javascript
JavaScript闭包实例讲解
2014/04/22 Javascript
深入理解JavaScript的React框架的原理
2015/07/02 Javascript
浅析AngularJS Filter用法
2015/12/28 Javascript
大型JavaScript应用程序架构设计模式
2016/06/29 Javascript
如何解决手机浏览器页面点击不跳转浏览器双击放大网页
2016/07/01 Javascript
使用js获取伪元素的content实例
2017/10/24 Javascript
React之PureComponent的使用作用
2018/07/10 Javascript
javascript设计模式 ? 原型模式原理与应用实例分析
2020/04/10 Javascript
vuex刷新后数据丢失的解决方法
2020/10/18 Javascript
[01:02:07]Liquid vs Newbee 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/16 DOTA
Python使用functools实现注解同步方法
2018/02/06 Python
只需7行Python代码玩转微信自动聊天
2019/01/27 Python
详解Python中的format格式化函数的使用方法
2019/11/20 Python
python模拟斗地主发牌
2020/04/22 Python
HTML5 表单验证失败的提示语问题
2017/07/13 HTML / CSS
泰坦健身器材:Titan Fitness
2018/02/13 全球购物
学生实习自我鉴定
2013/10/11 职场文书
经贸日语专业个人求职信
2013/12/13 职场文书
给儿子的表扬信
2014/01/15 职场文书
党建示范点实施方案
2014/03/12 职场文书
电视节目策划方案
2014/05/16 职场文书
学校查摆问题整改措施
2014/09/28 职场文书
个人总结怎么写
2015/02/26 职场文书
接待员岗位职责范本
2015/04/15 职场文书
陶瓷类经典广告语集锦
2019/10/25 职场文书
vue3如何优雅的实现移动端登录注册模块
2021/03/29 Vue.js