onPageScroll: function (res) { // Do something when page scroll this .setData({ scrollTop: res.scrollTop }) }, |
这样做影响性能啊,而且没必要,如何在滚动结束的时候只进行一次setData???
微信官方说的可以在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,微信:游鹄君