码迷,mamicode.com
首页 > 移动开发 > 详细

移动web终端交互优化

时间:2016-06-08 18:41:43      阅读:222      评论:0      收藏:0      [点我收藏+]

标签:

在移动设备上没有了鼠标输入,hover等一些鼠标事件不再生效,取而代之的是触摸事件touch

移动web页面上的click事件响应都要慢300ms

300ms延迟怎么破?

技术分享

使用Tap事件代替click事件

技术分享

Tap事件一般引用移动框架库Zepto.js

tap点透bug:若一个btn上面有个遮罩的话,当点击遮罩时不仅会促发遮罩上的点击事件也会触发btn上的点击事件

技术分享

click事件和tap事件触发过程

技术分享

touch事件:

触摸才是移动设备交互的核心事件

touchstart:手指触摸屏幕触发(已经有手指放在屏幕上不会触发)

touchmove:手指在屏幕上滑动,连续触发

touchend:手指离开屏幕时触发

touchcancel:系统取消touch时触发(不常用)

除常见的事件属性外,触摸事件包含专有的触摸属性

touches:跟踪触摸操作的touch对象数组

targetTouches:特定事件目标的touch对象数组

changeTouches:上次触摸改变的touch对象数组

技术分享

touch事件的bug:

技术分享

弹性滚动:当客户端的页面滚动到顶部或底部的时候,滚动条会收缩并让我们多滚动一定距离。通过缓冲反弹的效果,带给用户良好的体验

移动web页面也拥有这样的能力,但滚动有几种情况需要考虑,

body层的滚动:(系统特殊化处理)

自带弹性滚动:overflow:hidden(失效),GIF和定时器暂停

局部滚动:没有弹性滚动,没有滚动惯性,不流畅

局部滚动开启弹性滚动:

  body{
      overflow:scroll;
     -webkit-overflow-scrolling:touch;
  } 

注:android不支持原生的弹性滚动!但可以借助第三方库iScroll来实现

下拉刷新:顶端下拉一小点距离页面弹性滚动向下

上拉加载

使用scroll事件而不是touch事件(android有bug)

技术分享

技术分享

技术分享

常见bug解决方案:

技术分享

技术分享

技术分享

移动web终端交互优化

标签:

原文地址:http://www.cnblogs.com/mujinxinian/p/5570889.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!