第一步:使用onPageScroll获取当前用户的最后一次滚动位置,用scrollTop 存储,(scrollTop 在页面最顶端自定)
//小程序自带监听滚动位置
onPageScroll:(function () {
let timer = null;
return function (e) {
console.log("在滚动",e);
// 监听页面的滚动开始和结束
clearTimeout(timer);
this.scrollIng = true;
timer = setTimeout(() => {
console.log("滚动结束",e);
this.scrollIng = false;
}, 300);
this.scrollTop = e.scrollTop;
};
})(),
第二步:使用onshow监听页面展示,使用pageScrollTo,来将滚动条重置到上次滑动的最后的位置
onShow() {
let _this=this;
setTimeout(() => {
if (wx.pageScrollTo) {//判断这个方法是否可用
console.log(_this.scrollTop,'我展示了,我并且要将滚动条位置变化了');
wx.pageScrollTo({
scrollTop: _this.scrollTop ? _this.scrollTop :0
})
} else {
wx.showModal({
title: '提示',
content: '当前微信版本过低,无法使用该功能,请升级到最新微信版本后重试。'
})
}
}, 500);
},