博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
顶部下拉展示页面
阅读量:4952 次
发布时间:2019-06-11

本文共 908 字,大约阅读时间需要 3 分钟。

关于touch事件基础:

三类事件:

touchstart、touchmove、touchend

三个触摸列表:

touches:正在触摸屏幕的所有手指的一个列表,手指离开屏幕后对应元素被清除

targetTouches:正在触摸当前DOM元素上的手指的一个列表,手指离开屏幕后对应元素被清除

changeTouches:涉及当前事件的一个列表,手指离开屏幕后对应元素依旧存在

这些列表的结构如下:

其中下标 0 对应touch对象,length表示触发事件的手指个数;

下拉显示的类容的布局设置:

绝对定位于可是区域的上方,下拉时,元素整体向下移,类容即可显示。

position:absolute;

top:-translateY

下拉事件的处理:

//开始触摸屏幕 onTouchStart = (e) => {  this.setState({    startY: e.touches[0].pageY //手指初始位置在页面的纵坐标  });} //手指离开屏幕onTouchEnd = (e) => {  let _element = document.getElementById('refreshContainer');  let moveY = e.changedTouches[0].pageY - this.state.startY; //手指在垂直方向移动的距离(e.changedTouches[0].pageY:手指离开屏幕时在页面的纵坐标)  if (moveY > 55 && +document.documentElement.scrollTop === 0) { //垂直方向移动大于55,且滚动条在最顶部(滚动条在最顶端的时候, scrollTop=0)    _element.style.transform = `translateY(${
this.state.translateY})`; //元素沿垂直方向移动的距离(为下拉显示类容的高度) } }

 

转载于:https://www.cnblogs.com/embrace-ly/p/11208159.html

你可能感兴趣的文章
第二章:webdriver 控制浏览器窗口大小
查看>>
四则运算2初步构思
查看>>
Break the Chocolate(规律)
查看>>
C#jbox小节
查看>>
结构体指针释放的问题
查看>>
C#枚举Enum[轉]
查看>>
第三百五十七天 how can I 坚持
查看>>
【动态规划】流水作业调度问题与Johnson法则
查看>>
startActivityForResult不起作用
查看>>
Python&Selenium&Unittest&BeautifuReport 自动化测试并生成HTML自动化测试报告
查看>>
活现被翻转生命
查看>>
POJ 1228
查看>>
SwaggerUI+SpringMVC——构建RestFul API的可视化界面
查看>>
springmvc怎么在启动时自己执行一个线程
查看>>
流操作的规律
查看>>
Python基础学习15--异常的分类与处理
查看>>
javascript运算符的优先级
查看>>
React + Redux 入门(一):抛开 React 学 Redux
查看>>
13位时间戳和时间格式化转换,工具类
查看>>
vue router-link子级返回父级页面
查看>>