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 相关文章推荐
不使用中间变量,交换int型的 a, b两个变量的值。
Oct 29 Javascript
JQuery实现用户名无刷新验证的小例子
Mar 22 Javascript
jQuery对html元素取值与赋值的方法
Nov 20 Javascript
jQuery操作input值的各种方法总结
Nov 21 Javascript
js获取下拉列表框中的value和text的值示例代码
Jan 11 Javascript
JS写谷歌浏览器chrome的外挂实例
Jan 11 Javascript
一步步教会你微信小程序的登录鉴权
Apr 09 Javascript
浅谈vuex actions和mutation的异曲同工
Dec 13 Javascript
如何在Angular应用中创建包含组件方法示例
Mar 23 Javascript
小程序自定义圆形进度条
Nov 17 Javascript
canvas绘制折线路径动画实现
May 12 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
多重?l件?合查?(一)
2006/10/09 PHP
深入PHP中的HashTable结构详解
2013/06/13 PHP
destoon利用Rewrite规则设置网站安全
2014/06/21 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(十一)
2014/06/25 PHP
php编程每天必学之验证码
2016/03/03 PHP
PHP的Laravel框架结合MySQL与Redis数据库的使用部署
2016/03/21 PHP
PHP7 弃用功能
2021/03/09 PHP
常用参考资料(手册)下载或者链接
2006/07/22 Javascript
js下用gb2312编码解码实现方法
2009/12/31 Javascript
为Javascript中的String对象添加去除左右空格的方法(示例代码)
2013/11/30 Javascript
jQuery的each终止或跳过示例代码
2013/12/12 Javascript
jQuery制作可自定义大小的拼图游戏
2015/03/30 Javascript
JavaScript实现把rgb颜色转换成16进制颜色的方法
2015/06/01 Javascript
Java  Spring 事务回滚详解
2016/10/17 Javascript
BootStrap轻松实现微信页面开发代码分享
2016/10/21 Javascript
详解微信小程序入门五: wxml文件引用、模版、生命周期
2017/01/20 Javascript
微信小程序表单验证错误提示效果
2017/05/19 Javascript
在Vue中使用echarts的实例代码(3种图)
2017/07/10 Javascript
jQuery niceScroll滚动条错位问题的解决方法
2018/02/03 jQuery
vue页面切换到滚动页面显示顶部的实例
2018/03/13 Javascript
微信小程序使用wxParse解析html的方法教程
2018/07/06 Javascript
Vue.js特性Scoped Slots的浅析
2019/02/20 Javascript
python进阶教程之循环对象
2014/08/30 Python
Python表示矩阵的方法分析
2017/05/26 Python
Python装饰器语法糖
2019/01/02 Python
详解用pyecharts Geo实现动态数据热力图城市找不到问题解决
2019/06/26 Python
Python一键安装全部依赖包的方法
2019/08/12 Python
Python+Appium实现自动化测试的使用步骤
2020/03/24 Python
使用HTML5 Canvas绘制圆角矩形及相关的一些应用举例
2016/03/22 HTML / CSS
亿企通软件测试面试题
2012/04/10 面试题
优秀学生评语大全
2014/04/25 职场文书
教师考核材料
2014/05/21 职场文书
纪委立案决定书
2015/06/24 职场文书
教你怎么用PyCharm为同一服务器配置多个python解释器
2021/05/31 Python
【海涛dota解说】DCG联赛第一周 LGD VS DH
2022/04/01 DOTA
Python OpenCV超详细讲解基本功能
2022/04/02 Python