摘要:
开发(Tips) 避开频繁setData * 小程序端对于频繁的逻辑层和显示层的交互很不友好,特别是安卓机,与浏览器上js直接操作DOM不同,小程序通过逻辑更新显示层并不完全实时,开发者应避免出现频繁setData以达到某种视觉效果的操作,如有需要,直接使用框架或页面自带的组件。 组件化开发和分包加 阅读全文
摘要:
1. 一切可能触发用户等待行为的操作,如页面加载,请求等,都要考虑 loading 提示。 2. 页面上的切换,弹出行为应考虑动画过渡等效果,避免突兀生硬的状态切换造成的体验不佳。 3. 页面资源获取优先考虑是否异步获取,要优先考虑页面初始显示速度,尽量减少页面上加载的耗时是任何功能开发的优先考虑。 阅读全文
摘要:
1.浏览器渲染原理解析 想要提高网页的性能,首要的便是要理解浏览器渲染原理,下面关于浏览器的原理解析,我们以chrome内核webkit为例,其他内核的浏览器原理也基本大同小异,可触类旁通。 如上图所示,浏览器解析页面步骤可分为: * 解析HTML(HTML Parser) * 构建DOM树(DOM 阅读全文
摘要:
如下代码所示: 容器container的子元素均为inline-block显示,而当子元素中存在图片或文字的时候,子元素的显示会显然不在水平线上,即有的元素会下沉,这一现象与行内元素的对齐有关,要解决该问题,可用vertical-align属性,如下: vertical-align取middle,t 阅读全文
摘要:
slice方法是定义在js数组原型中的方法,用于截取数组的部分元素,具体使用如下: start为起始元素位置,end为截止元素位置,如: 其中end参数可以省略,参数均可为负值,即为从末尾算起位数。 另外,Array.prototype.slice还有另一个用法——将拥有length属性的对象转换为 阅读全文
摘要:
1.ios端的-webkit-overflow-scrolling属性可控制页面滚动效果,设置如下实现惯性滚动和弹性效果: 2.position属性导致的页面滚动不流畅问题: 如上代码所示,当absolute定位的容器内存在relative定位并且高度大于外置容器时,容器的滚动会出现卡顿闪烁现象,解 阅读全文
摘要:
如上所示,在安卓端设置input类型为number,可限制键盘只输入数字,在ios端,要加入pattern验证输入字段的模式,才能限制数字输入。 阅读全文
摘要:
如上代码所示,限制文段宽度,可用width或max-width,方法简单但实用。 阅读全文
摘要:
在ios端,safari浏览器上触发click事件有300ms的延迟响应,为touch添加的样式会和click冲突而出现闪烁问题 在safari中触摸事件的相应顺序如下: touchstart --> touchmove --> touchend --> click(300ms) 此时可试用以下样式 阅读全文