- 当前 Bug 的表现(可附上截图)
需求: 点击tab分类的时候tab分类移动到顶部。
实现: 通过 wx.createSelectorQuery(); api获取到元素的高度,然后通过wx.pageScrollTo进行移动,偶尔(大约二十次触发一次)的时候会只移动一半的距离。
大体逻辑如下
const query = wx.createSelectorQuery(); let index = e.target.dataset.index; let top = 0; query.select( '#index' + index).boundingClientRect() query.selectViewport().scrollOffset() query.exec( function (res) { curTop = res[0].top + res[1].scrollTop; that.setData({ count: 2 }) var addTop = res[0].top + res[1].scrollTop; that.setData({ currentTop: addTop }) top = that.data.currentTop ? that.data.currentTop : curTop; wx.pageScrollTo({ scrollTop: top + 2, duration: 300 }) }) |
wx.pageScrollTo支持锚点,不用自己计算高度了
他的滚动距离是必填的啊。
wx.pageScrollTo({
scrollTop:
'0'
,
selector:
'.categroy-left'
,
duration: 300
})
滚动距离还是需要计算啊