黑马程序员技术交流社区

标题: 【上海校区】手指触摸相关的touch事件并实现滑动轮播图 [打印本页]

作者: 时间留下最真    时间: 2019-4-26 14:19
标题: 【上海校区】手指触摸相关的touch事件并实现滑动轮播图
本帖最后由 时间留下最真 于 2019-4-26 14:21 编辑

手指触摸相关的touch事件并实现滑动轮播图,以及移动端中tap和click事件



一.touch事件
1. 移动端新增的4个与手指触摸相关的事件

      1. touchstart : 手指放在屏幕上时触发

      2. touchmove : 手指在屏幕上滑动时触发(会触发多次)

      3. touchend : 手指离开屏幕时触发

      4. touchcancel : 系统取消touch事件时候触发,比如电话

2. 每次触摸被触发后,会生成一个event对象,event对象中changedTouches会记录手指滑动的信息

     1. e.touches                当前屏幕上的手指

     2. e.targetTouches      当前dom元素上的手指

     3. e.changedTouches  触摸时发生改变的手指

3. 这些列表里的每次触摸由touch对象组成,touch对象里包含着触摸信息,属性有

      1. clientX / clientY   触摸点相对浏览器窗口的位置

      2, pageX / pageY    触摸点相对于页面的位置

二.通过touch滑动轮播图
[JavaScript] 纯文本查看 复制代码
//1. 给ul注册touch相关的三个事件(注意清除浮动,不然触发不到touchmove事件)
//2. 在touchstart中
        //1. 记录开始的位置
        //2. 清除定时器
//2. 在touchmove中
        //1. 记录移动的距离
        //2. 清除过渡
        //3. 让ul跟着移动
//3. 在touchend中
        //1. 记录移动的距离
        //2. 判断移动距离是否超过1/3屏,判断上一屏还是下一屏,或者是吸附
        //3. 添加过渡
        //4. 执行动画
        //5. 开启定时器

//4. 优化:快速滑动的实现逻辑

//5. 优化:重置大小时轮播图错位。

三 . 关于tap事件和click事件







欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2