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 相关文章推荐
关于include标签导致js路径找不到的问题分析及解决
Jul 09 Javascript
Javascript冒泡排序算法详解
Dec 03 Javascript
编写简单的jQuery提示插件
Dec 21 Javascript
JavaScript中Function详解
Feb 27 Javascript
详解JavaScript对W3C DOM模版的支持情况
Jun 16 Javascript
Javascript验证Visa和MasterCard信用卡号的方法
Jul 27 Javascript
Vue.js每天必学之过渡与动画
Sep 06 Javascript
jQuery实现的分页功能示例
Jan 22 Javascript
jQuery中复合选择器简单用法示例
Mar 31 jQuery
D3.js实现简洁实用的动态仪表盘的示例
Apr 04 Javascript
Vue中的混入的使用(vue mixins)
Jun 01 Javascript
Vue实现星级评价效果实例详解
Dec 30 Javascript
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
Uchome1.2 1.5 代码学习 common.php
2009/04/24 PHP
phpinfo 系统查看参数函数代码
2009/06/05 PHP
PHP设置图片文件上传大小的具体实现方法
2013/10/11 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(十五)
2014/06/30 PHP
PHP实现数组转JSon和JSon转数组的方法示例
2018/06/14 PHP
IE8中使用javascript动态加载CSS的解决方法
2014/06/17 Javascript
Javascript冒泡排序算法详解
2014/12/03 Javascript
js光标定位文本框回车表单提交问题的解决方法
2015/05/11 Javascript
使用jQuery制作Web页面遮罩层插件的实例教程
2016/05/26 Javascript
JS HTML5拖拽上传图片预览
2016/07/18 Javascript
JS实现将Asp.Net的DateTime Json类型转换为标准时间的方法
2016/08/02 Javascript
jQueryUI Datepicker组件设置日期高亮
2016/10/13 Javascript
浅谈js在html中的加载执行顺序,多个jquery ready执行顺序
2016/11/26 Javascript
微信小程序 解决swiper不显示图片的方法
2017/01/04 Javascript
Angular2使用Guard和Resolve进行验证和权限控制
2017/04/24 Javascript
AngualrJs清除定时器遇到的坑
2017/10/13 Javascript
Javascript实现异步编程的过程
2018/06/18 Javascript
jQuery ajax仿Google自动提示SearchSuggess功能示例
2019/03/28 jQuery
解决vue中的无限循环问题
2020/07/27 Javascript
Python中的字典遍历备忘
2015/01/17 Python
python中zip()方法应用实例分析
2016/04/16 Python
详解python函数的闭包问题(内部函数与外部函数详述)
2019/05/17 Python
Python Pickle 实现在同一个文件中序列化多个对象
2019/12/30 Python
德国著名廉价网上药店:Shop-Apotheke
2017/07/23 全球购物
顺丰快递Java软件工程师面试题
2015/07/31 面试题
大学生专科学习生活的自我评价
2013/12/07 职场文书
数控技术专科生自我评价
2014/01/08 职场文书
缴纳养老保险的证明
2014/01/10 职场文书
党校培训自我鉴定范文
2014/04/10 职场文书
学生安全责任书范本
2014/07/24 职场文书
2014年电信员工工作总结
2014/12/19 职场文书
2015年安全保卫工作总结
2015/05/14 职场文书
电力企业职工培训心得体会
2016/01/11 职场文书
咖啡厅里的创业计划书
2019/08/21 职场文书
《孙子兵法》:欲成大事者,需读懂这些致胜策略
2019/08/23 职场文书
win10以太网连接不上怎么办?Win10连接以太网详细教程
2022/04/08 数码科技