• 如何使用小程序做到回到顶部的效


          这里小程序有个组件是可以实现的,那就是scroll-view组件,他具有很多的属性,其中我们要利用到以下两个属性来处理:

    scroll-top Number   设置竖向滚动条位置
    bindscroll EventHandle   滚动时触发,event.detail = {scrollLeft, scrollTop, scrollHeight, scrollWidth, deltaX, deltaY}

          通过滚动触发事件,获取距离文档顶部的scrollTop值,当达到一定条件【>300】的时候,显示gotop层,针对这个层写点击事件,重新设置scroll-top值,偶然间发现设置scroll-top的一个bug,如果我下一次设置的值和本次scroll-top值是一样的,那么文档并不会有任何动作。因此我的做法是在0和1之间切换设置,具体做法如下:

    <scroll-view style="height: 100%;" scroll-y="true" scroll-top="{{scrollTop.scroll_top}}" bindscroll="scrollTopFun">  
    <view style="height: 11111rpx; border: solid 1px red;">  
    123456  
    ----{{test}}  
    </view>  
    </scroll-view>  
      
    <view style="position: absolute; bottom: 50rpx; right: 30rpx;  120rpx; height: 120rpx; border: solid 1px green;" wx:if="{{scrollTop.goTop_show}}" catchtap="goTopFun"></view>  
    

      JS:

    Page({
      data: {
    
        test: "",
        scrollTop: {
          scroll_top: 0,
          goTop_show: false
        }
      },
      scrollTopFun: function (e) {
        console.log(e.detail);
        if (e.detail.scrollTop > 300) {//触发gotop的显示条件  
          this.setData({
            'scrollTop.goTop_show': true
          });
          console.log(this.data.scrollTop)
        } else {
          this.setData({
            'scrollTop.goTop_show': false
          });
        }
      },
      goTopFun: function (e) {
        var _top = this.data.scrollTop.scroll_top;//发现设置scroll-top值不能和上一次的值一样,否则无效,所以这里加了个判断  
        if (_top == 1) {
          _top = 0;
        } else {
          _top = 1;
        }
        this.setData({
          'scrollTop.scroll_top': _top
        });
        console.log("----");
        console.log(this.data.scrollTop)
      }
    })  
    

      

    最终效果如下:

  • 相关阅读:
    Java8新特性学习笔记
    shell学习(二)
    pulsar学习随笔
    Flink SQL 连接hive
    Mysql学习笔记(十)
    Mysql学习笔记(十一)
    shell学习(一)
    对于函数极限存在的充要条件“lim f(x)=A互推f(x)=A+a(x) lim a(x)=0”补充解释
    PXC集群脑裂导致节点是无法加入无主的集群
    MySQL PXC集群大事务提交超限
  • 原文地址:https://www.cnblogs.com/mmykdbc/p/6919350.html
Copyright © 2020-2023  润新知