
点击上图中右下角的图标滑动到顶部。 其实很简单,但也有一些小细节。
使用绝对位置使其固定在右下角的位置。
<icon type="download" size="45" color="#4caf50" bindtap='scrollTop'/>这里使用官方的下载图标,然后修改了一下颜色。
icon[type=download] {
position: fixed;
bottom: 30px;
right: 20px;
transform: rotate(180deg);
}position为fixed。transform: rotate(180deg)旋转180度向上。bindtap='scrollTop'
scrollTop: function() {
wx.pageScrollTo({
scrollTop: 0,
duration: 300
})
},在事件中,我们使用了官方的API wx.pageScrollTo,两个参数,一个是滑动的位置,一个是执行时长。
到此,滑动到顶部的功能就简单实现了。
为什么会有这一步呢,是因为发现无论滑动的距离是远还是近,执行时长都是300,那能不能优化呢,其实是可以的。
微信page中有一个onPageScroll方法(与onLoad平级),监听用户滑动页面事件。 那我们就可以根据滑动的距离动态设置执行时长了。
data: {
scrollDuration: 500,
}, onPageScroll: function(e) {
console.log(e.scrollTop)
this.setData({
scrollDuration: e.scrollTop / 2
});
} scrollTop: function() {
wx.pageScrollTo({
scrollTop: 0,
duration: this.data.scrollDuration
})
},ok,到此就全部完成了。