zoukankan      html  css  js  c++  java
  • 如何使用小程序做到回到顶部的效

          这里小程序有个组件是可以实现的,那就是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)
      }
    })  
    

      

    最终效果如下:

  • 相关阅读:
    Linux命令-查看进程
    Linux命令-查看内存
    Linux命令---vim
    oracle分页查询按日期排序失败问题
    oracle使用between and边界问题
    给大家介绍一个自我感觉好用的网站
    想学习一下微服务
    oracle获取年、月、日
    mybatis返回map结果集
    修改表中列
  • 原文地址:https://www.cnblogs.com/mmykdbc/p/6919350.html
Copyright © 2011-2022 走看看