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 支持链式调用的异步调用框架Async.Operation
Aug 04 Javascript
JavaScript 权威指南(第四版) 读书笔记
Aug 11 Javascript
用console.table()调试javascript
Sep 04 Javascript
js对字符的验证方法汇总
Feb 04 Javascript
js实现兼容性好的微软官网导航下拉菜单效果
Sep 07 Javascript
JS实现简单的二维矩阵乘积运算
Jan 26 Javascript
JavaScript中使用数组方法汇总
Feb 16 Javascript
js中获取时间new Date()的全面介绍
Jun 20 Javascript
微信小程序使用slider设置数据值及switch开关组件功能【附源码下载】
Dec 09 Javascript
Node.js事件的正确使用方法
Apr 05 Javascript
详解vuex之store源码简单解析
Jun 13 Javascript
vue-cli3+typescript新建一个项目的思路分析
Aug 06 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
一个简单的PHP入门源程序
2006/10/09 PHP
最令PHP初学者们头痛的十四个问题
2007/01/15 PHP
手把手教你使用DedeCms的采集的图文教程
2007/03/11 PHP
php strstr查找字符串中是否包含某些字符的查找函数
2010/06/03 PHP
PHP企业级应用之常见缓存技术篇
2011/01/27 PHP
php+mysql数据库查询实例
2015/01/21 PHP
ThinkPHP提示错误Fatal error: Allowed memory size的解决方法
2015/02/12 PHP
PHP通过CURL实现定时任务的图片抓取功能示例
2016/10/03 PHP
php实现的网页版剪刀石头布游戏示例
2016/11/25 PHP
从阿里妈妈发现的几个不错的表单验证函数
2007/09/21 Javascript
使用自定义setTimeout和setInterval使之可以传递参数和对象参数
2009/04/24 Javascript
javascript window对象属性整理
2009/10/24 Javascript
从零开始学习jQuery (六) jquery中的AJAX使用
2011/02/23 Javascript
css值转换成数值请抛弃parseInt
2011/10/24 Javascript
js控制href内容的连接内容的变化示例
2014/04/30 Javascript
JS中字符串trim()使用示例
2015/05/26 Javascript
使用JQuery FancyBox插件实现图片展示特效
2015/11/16 Javascript
jQuery EasyUI之DataGrid使用实例详解
2016/01/04 Javascript
layer弹出层中H5播放器全屏出错的解决方法
2017/02/21 Javascript
新版vue-cli模板下本地开发环境使用node服务器跨域的方法
2018/04/03 Javascript
vue实现todolist功能、todolist组件拆分及todolist的删除功能
2019/04/11 Javascript
Vue+Node服务器查询Mongo数据库及页面数据传递操作实例分析
2019/12/20 Javascript
解决vue axios跨域 Request Method: OPTIONS问题(预检请求)
2020/08/14 Javascript
精确查找PHP WEBSHELL木马的方法(1)
2011/04/12 Python
Python生成pdf文件的方法
2014/08/04 Python
Django中对通过测试的用户进行限制访问的方法
2015/07/23 Python
Python实现小数转化为百分数的格式化输出方法示例
2017/09/20 Python
pytorch 中pad函数toch.nn.functional.pad()的用法
2020/01/08 Python
几款主流好用的富文本编辑器(所见即所得常用编辑器)介绍
2021/03/17 Javascript
html2canvas截图空白问题的解决
2020/03/24 HTML / CSS
怎样有效的进行自我评价
2013/10/06 职场文书
信息技术培训感言
2014/03/06 职场文书
项目经理任命书范本
2014/06/05 职场文书
2014办公室年度工作总结
2014/12/09 职场文书
关于企业的执行力标语大全
2020/01/06 职场文书
Python机器学习之逻辑回归
2021/05/11 Python