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 相关文章推荐
js 数组操作代码集锦
Apr 28 Javascript
一个基于jquery的图片切换效果
Jul 06 Javascript
js substr支持中文截取函数代码(中文是双字节)
Apr 17 Javascript
javascript中的toFixed固定小数位数 简单实例分享
Jul 12 Javascript
javascript 模拟坦克大战游戏(html5版)附源码下载
Apr 08 Javascript
深入理解JavaScript系列(35):设计模式之迭代器模式详解
Mar 03 Javascript
jQuery实现带幻灯的tab滑动切换风格菜单代码
Aug 27 Javascript
jquery trigger函数执行两次的解决方法
Feb 29 Javascript
Js删除数组中某一项或几项的几种方法(推荐)
Jul 27 Javascript
HTML Table 空白单元格补全的简单实现
Oct 13 Javascript
js实时获取窗口大小变化的实例代码
Nov 18 Javascript
Node.js命令行/批处理中如何更改Linux用户密码浅析
Jul 22 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
Windows下安装Memcached的步骤说明
2010/04/25 PHP
PHP中json_encode、json_decode与serialize、unserialize的性能测试分析
2010/06/09 PHP
PHP中全面阻止SQL注入式攻击分析小结
2012/01/30 PHP
php上传文件,创建递归目录的实例代码
2013/10/18 PHP
浅析php创建者模式
2014/11/25 PHP
在Windows XP下安装Apache+MySQL+PHP环境
2015/02/22 PHP
php实现window平台的checkdnsrr函数
2015/05/27 PHP
Yii中CGridView实现批量删除的方法
2015/12/28 PHP
如何在PHP环境中使用ProtoBuf数据格式
2020/06/19 PHP
javascript setTimeout和setInterval计时的区别详解
2013/06/21 Javascript
jQuery中:reset选择器用法实例
2015/01/04 Javascript
Lab.js初次使用笔记
2015/02/28 Javascript
JS中的==运算: [''] == false —&gt;true
2016/07/24 Javascript
AngularJS表达式讲解及示例代码
2016/08/16 Javascript
实例讲解DataTables固定表格宽度(设置横向滚动条)
2017/07/11 Javascript
微信禁止下拉查看URL的处理方法
2017/09/28 Javascript
JavaScript编程设计模式之构造器模式实例分析
2017/10/25 Javascript
Bootstrap实现可折叠分组侧边导航菜单
2018/03/07 Javascript
详解vue 组件的实现原理
2020/11/12 Javascript
python实现猜数字游戏(无重复数字)示例分享
2014/03/29 Python
使用Python编写一个在Linux下实现截图分享的脚本的教程
2015/04/24 Python
基于python元祖与字典与集合的粗浅认识
2017/08/23 Python
python计算日期之间的放假日期
2018/06/05 Python
python实现彩票系统
2020/06/28 Python
python 控制Asterisk AMI接口外呼电话的例子
2019/08/08 Python
Django异步任务线程池实现原理
2019/12/17 Python
Python中用xlwt制作表格实例讲解
2020/11/05 Python
python实现简单猜单词游戏
2020/12/24 Python
SmartBuyGlasses英国:购买太阳镜和眼镜
2018/01/29 全球购物
高考备战决心书
2014/03/11 职场文书
2015教师个人师德工作总结
2015/10/23 职场文书
如何撰写促销方案?
2019/07/05 职场文书
关于flex 上下文中自动 margin的问题(完整例子)
2021/05/20 HTML / CSS
VS2019连接MySQL数据库的过程及常见问题总结
2021/11/27 MySQL
Pillow图像处理库安装及使用
2022/04/12 Python
MySQL存储过程及语法详解
2022/08/05 MySQL