123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- Component({
- properties: {
- //回顶部按钮距离底部距离 rpx
- bottom: {
- type: Number,
- value: 120
- },
- //回顶部按钮距离右侧距离 rpx
- right: {
- type: Number,
- value: 24
- },
- //距离顶部多少距离显示 px
- top: {
- type: Number,
- value: 100
- },
- //滚动距离
- scrollTop: {
- type: Number,
- observer(val) {
- this.change();
- }
- }
- },
- data: {
- //判断是否显示
- visible: false,
- //控制显示,主要解决调用api滚到顶部fixed元素抖动的问题
- toggle: true
- },
- methods: {
- goTop: function() {
- this.setData({
- toggle: false
- })
- wx.pageScrollTo({
- scrollTop: 0,
- duration: 120
- })
- setTimeout(() => {
- this.setData({
- toggle: true
- })
- }, 220)
- },
- change() {
- let show = this.data.scrollTop > this.data.top;
- if ((show && this.data.visible) || (!show && !this.data.visible)) {
- return
- }
- this.setData({
- visible: show
- })
- }
- }
- })
|