定义的变量 不再使用,没有及时销毁 事件冒泡。导致事件流死循环
如果使用css高级特效,原则就是能使用3d(硬件加速效果)代替就不用2d,比较耗用资源的样式尽量少用(计算属性calc,过滤属性...)
在css布局中,position 定位其实是渲染的最后的一步骤,而且定位需要重新计算其他的元素位置,这样相对而言比较耗性能。
移动端开发常见问题:
1.-webkit-overflow-scrolling:touch
-webkit-overflow-scrolling 属性控制元素在移动设备上是否使用滚动回弹效果.
auto: 使用普通滚动, 当手指从触摸屏上移开,滚动会立即停止。
touch: 使用具有回弹效果的滚动, 当手指从触摸屏上移开,内容会继续保持一段时间的滚动效果。继续滚动的速度和持续的时间和滚动手势的强烈程度成正比。同时也会创建一个新的堆栈上下文。
2.移动端触摸事件300ms 延时
解决方案:fastclick.js 使用:https://majing.io/posts/10000007721218
3.固定定位失效问题。
在ios下, 点击输入框,打开输入键盘时,页面使用的固定定位失效。
原则: 能避免使用固定定位布局的就尽量避免,可以使用绝对定位代替 ,不能避免就学淘宝,京东,可以实现输入框的时候跳转一下(跳转至没有使用固定定位的页面)
强行处理固定定位失效,用js根据页面高度,给使用固定定位的元素,设置绝对定位。
4.图片占位
如果有需要使用到ajax请求到数据,甚至连文字都需要占位
5.使用图片懒加载
使用:https://www.cnblogs.com/fanmiao/p/6002907.html
6.针对于平台的兼容性,可能有时需要针对某一系统进行单独的处理,就需要识别当前系统
var u = navigator.userAgent, app = navigator.appVersion; var isiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //ios终端 if (isiOS) { window.setTimeout(function(){ window.scrollTo(0,document.body.clientHeight); }, 500); }
7.移动端键盘问题:
移动端软键盘监听(弹出,收起),及影响定位布局的问题 :https://www.cnblogs.com/wangyihong/p/7514304.html 虚拟键盘,移动web开发的痛:https://www.cnblogs.com/jianyeweb/p/5246429.html js移动端 虚拟键盘提交事件:https://www.cnblogs.com/mapletao/p/6474238.html
8.点透问题