在onPageScroll监听,到达某个位置置顶,ios真机测试延迟?
onPageScroll监听页面,滑动到某位置置顶元素,但是ios真机测试时滑的很快,会延迟好几秒才置顶?可否改善?有替代方法吗?
以下是代码片段:
3 回复
不要在onPageScroll函数中频繁调用setData,非常耗性能的。
吸顶效果可以使用样式 position: sticky ; top: 0;
你只需要保证你需要实现吸顶效果的元素是page的子元素就行了
这个问题很容易解决。
思路很简单,规定一个刷新率,比如5。函数每调用5次,再执行一次渲染。这样基本上可以解决低效的问题。
onPageScroll: function (e){ if ( this .data.setDataCount || this .data.setDataCount<=0){ if ( this .data.setDataCount<=0){ //执行渲染 this .setData(e) //重置次数 this .data.setDataCount = 5 } else { //倒数。 this .data.setDataCount -= 1 } } else { //第一次调用,建立变量 this .data[ 'setDataCount' ] = 5 } }, |
但是,过快滑动可能导致部分区域被忽略。这个可以自行优化