[图片] 微信官方说的可以在page中定义一些特殊的函数,事件处理函数 而页面滚动事件被触发,说明是有用户在与页面产生交互,也就是会有手指按下和抬起的动作 [图片] 所以我们可以在page的data中设置一个控制的开关switchBreak data: { switchBreak:false; }, 然后在视图层给页面盒子绑定 touchend 事件 touchend = "toEnd",当手机触摸事件结束的时候,修改开关的状态 toEnd:function(event) { this.setData( { switchBreak:true; }) }, 然后再页面滚动触发事件时将要执行的代码体之前先判断开关状态,true执行,false不执行 [代码]onPageScroll: [代码][代码]function[代码] [代码](res) [代码] [代码]{[代码] [代码] [代码][代码]先判断开关状态[代码] [代码] var that = this;[代码] [代码] if(that.data.switchBreak)[代码] [代码] {[代码] [代码] [代码][代码][代码]this[代码][代码].setData([代码][代码] [代码][代码]{[代码][代码] [代码] [代码][代码]scrollTop: res.scrollTop[代码] [代码] [代码][代码]});[代码][代码] } [代码] [代码] [代码][代码]},[代码] 关键的是要获取页面滚动结束时的触发的事件来设置开关状态. 这只是我的猜想,如果有不对的地方请指正.联系QQ:2900976495,微信:游鹄君
如何在onPageScroll停止的时候再setData?[代码]onPageScroll: [代码][代码]function[代码] [代码](res) {[代码][代码] [代码][代码]// Do something when page scroll[代码][代码] [代码][代码]this[代码][代码].setData({[代码][代码] [代码][代码]scrollTop: res.scrollTop[代码][代码] [代码][代码]})[代码][代码]},[代码]这样做影响性能啊,而且没必要,如何在滚动结束的时候只进行一次setData???
2018-06-11