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学习之闭包分析
Dec 02 Javascript
jQuery-Tools-overlay 使用介绍
Jul 14 Javascript
javascript删除数组元素并且数组长度减小的简单实例
Feb 14 Javascript
JQuery悬停控制图片轮播——代码简单
Aug 05 Javascript
基于Bootstrap的Metronic框架实现条码和二维码的生成及打印处理操作
Aug 29 Javascript
详解Vue生命周期的示例
Mar 10 Javascript
如何开发出更好的JavaScript模块
Dec 22 Javascript
解决vue2中使用axios http请求出现的问题
Mar 05 Javascript
使用vue-router完成简单导航功能【推荐】
Jun 28 Javascript
Vue中插入HTML代码的方法
Sep 21 Javascript
微信小程序获取用户信息并保存登录状态详解
May 10 Javascript
vue实现简单瀑布流布局
May 28 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操作sqlserver关于时间日期读取的小小见解
2009/11/29 PHP
WIN8.1下搭建PHP5.6环境
2015/04/29 PHP
php替换字符串中间字符为省略号的方法
2015/05/04 PHP
PHP下 Mongodb 连接远程数据库的实例代码
2017/08/30 PHP
解决iframe的frameborder在chrome/ff/ie下的差异
2010/08/12 Javascript
jQuery1.4.2与老版本json格式兼容的解决方法
2011/02/12 Javascript
IE8的JavaScript点击事件(onclick)不兼容的解决方法
2013/11/22 Javascript
javascript实现控制浏览器全屏
2015/03/30 Javascript
jQuery实现径向动画菜单效果
2015/07/17 Javascript
JS显示日历和天气的方法
2016/03/01 Javascript
js绑定事件和解绑事件
2017/04/27 Javascript
JS 判断某变量是否为某数组中的一个值的3种方法(总结)
2017/07/10 Javascript
解决vue中无法动态修改jqgrid组件 url地址的问题
2018/03/01 Javascript
vue增加强缓存和版本号的实现方法
2019/05/01 Javascript
vue实现分页栏效果
2019/06/28 Javascript
javascript贪吃蛇游戏设计与实现
2020/09/17 Javascript
Python中的filter()函数的用法
2015/04/27 Python
python中pika模块问题的深入探究
2018/10/13 Python
彻彻底底地理解Python中的编码问题
2018/10/15 Python
pycham查看程序执行的时间方法
2018/11/29 Python
python实现桌面壁纸切换功能
2019/01/21 Python
Python中如何导入类示例详解
2019/04/17 Python
NumPy 数组使用大全
2019/04/25 Python
python中JWT用户认证的实现
2020/05/18 Python
诺心蛋糕官网:LE CAKE
2018/08/25 全球购物
大学生职业规划范文:象牙塔生活的四年计划
2014/01/14 职场文书
中考冲刺决心书
2014/03/11 职场文书
会计系毕业生求职信
2014/05/28 职场文书
乡镇机关党员民主评议表自我评价
2014/09/21 职场文书
在职证明书范本(2014新版)
2014/09/25 职场文书
2014年售票员工作总结
2014/11/19 职场文书
毕业生就业推荐表自我评价
2015/03/02 职场文书
学困生转化工作总结
2015/08/13 职场文书
Vue.js 带下拉选项的输入框(Textbox with Dropdown)组件
2021/04/17 Vue.js
Tensorflow与RNN、双向LSTM等的踩坑记录及解决
2021/05/31 Python
详细聊聊Oracle表碎片对性能有多大的影响
2022/03/19 Oracle