2015AC前端大会笔记

开发眼中的前端交互——by Weber

        移动web开发 VS PC web开发

a.      M: HTML——关注meta标签,定制移动web开发的行为和样式

b.      V:CSS——屏幕分辨率适配

c.      C: JavaScript——交互优化&性能优化

 

性能优化——更快:压缩代码、文件合并、后台直出等方法切实改变响应速度

交互优化——更好用:通过替换方案改变用户感知到的相应速度,结合移动设备特点提供更有针对性更好用的体验。

 

移动web会对click事件进行300ms的延迟。是为了区分单击双击,因为移动端要用双击来进行放大缩小,做分辨率兼容。

 

Zepto框架,tap事件代替click,tap事件不是原生事件,用touchstart、touchmove、touchend模拟的。解决300ms的延迟。

基本要求:

   1. 从触摸到离开时间间隔短;    

   2. 从起点到终点的距离小。

 

点击态:给用户明确的点击反馈,提升用户体验

方案1:使用:active伪类

缺点:滚动的时候也会触发样式。

 

方案2:

 

//点击事件带点击态
$el.on('tap',function(e)){
   var $target = $(e.target);
   $target.addClass('active');
   setTimeout(function(){
      $target.removeClass('active');
  },500);
});

滚动:

1.      全局滚动:滚动条在body节点或更顶层

2.      局部滚动:滚动条在body下的某一个dom节点上

iOS:

全局滚动:默认支持

局部滚动:默认没有滚动条,且滑动起来干涩

局部滚动使用弹性滚动效果:

body{
   -webkit-overflow-scrolling:touch;
}
/*局部滚动的dom节点*/
.scroll-el{
   overflow:auto
}


建议:将属性挂在body上,可以避免很多奇怪的bug。

 

Android:

定制版本较多,表现各异

默认没有弹性滚动效果

-webkit-overflow-scrolling默认浏览器不支持

Android版chrome支持

 

什么情况下会触发出界:
iOS

全局滚动:滚动到页面顶部(或底部)时继续向下(向上)滑动,就会出现

局部滚动:滚动到页面顶部(或底部)时,手指离开停下,再继续向下(向上)滑动,就会出现。

解决方案:

局部滚动:使用ScrollFix

if(startTopScroll <=0){
   elem.scrollTop =1;
};
if(startTopScroll +elem.offsetHeight >=elem.scrollHeight){
    elem.scrollTop = elem.scrollHeight - elem.offsetHeight-1;
};


局部滚动:页面的固定区域禁止touchmove默认事件

全局滚动:暂无,改成局部滚动。从iOS8开始Safari的出界部分的背景色和body的背景色保持一致。

 

Android下使用局部滚动,会导致滚动条显示异常,且滚动不流畅,建议只使用全局滚动。

流畅滚动的N条军规

1.      body上加上-webkit-overflow-scrolling:touch

2.      iOS尽量使用局部滚动

3.      iOS引进ScrollFiex避免出界

4.      Android下尽量使用全局滚动

        尽量不用overfl:auto

        使用min-height:100%代替height:100%

5.      iOS下带有滚动条且position:absolute的节点不要设置其背景色。

键盘定制:

<input type="number" />
   <input type="tel" />
   <input type="search"/> <!--1.设置type="search"2.用一个form表单包围起来3.在onsubmit事件里面阻止默认行为-->
<inputtype="text" pattern="[0-9]*"/>  <!--pattern属性规范文本框只能输入什么内容,其他pattern属性值并不支持-->

 

定制软键盘行为:

配置input节点的autocapitalize、autocorrect属性。Autocapitalize=“off”关闭首字母大写。

 

IOS:基本支持

Android:不同系统版本不同定制版本支持情况不一样

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值