收藏
回答

怎样监听组件scroll-view滚动结束事件

框架类型 问题类型 API/组件名称 终端类型 操作系统 微信版本 基础库版本
小程序 需求 scroll-view 微信iOS客户端 6.7.0 1.02.1806120

我要监听但scroll-view滚动结束后执行事件,比如我手指滑动一下停止滚动条后执行事件,求帮助?

回答关注问题邀请回答
收藏

5 个回答

  • 
    
    2023-04-07
    <scroll-view  @touchend="touchend"  @scroll="onScroll"></scroll-view>
    // js
    onScroll = debounce(function(event){
        console.log('onScroll',this.isTouchEnd);
        if(this.isTouchEnd){
          this.isTouchEnd = false
        }
    },500)
    
    touchend(){
      this.isTouchEnd = true
    }
    // 滚动的时候就可以判断当前时候是滚动结束【基本的滑动除刁钻滚动】
    
    2023-04-07
    有用 1
    回复
  • 假如
    假如
    2018-08-03

    也遇到了同样的问题,而且目前似乎这能用setTimeout实现,感觉scroll-view有太多的坑。

    2018-08-03
    有用
    回复
  • Oración
    Oración
    2018-07-31

    楼主请问一下,我现在有和你一样的需求,但是呢,在setTimeOut()里面有一个that.setData(),然后就发现这个定时器好像出问题了似的,滚动结束后会执行好多次。是因为setData也是异步操作的缘故嘛??我应该怎么解决这个问题??可以指点一下嘛?

    var that = this;

       clearTimeout(scrollTime2);

       scrollTime2 = setTimeout(function(){

         console.log(n)

         var scrollT = n * (itemH + 20);

         that.setData({

           scrollT: scrollT,

         })

       },100)


    2018-07-31
    有用
    回复
  • 微动励
    微动励
    2018-07-06

    这里面没有滚动结束事件

    2018-07-06
    有用
    回复 4
    • 卢霄霄
      卢霄霄
      2018-07-06

      无法监听,目前来讲最好的方法是在 bindscroll里 clearTimeout + setTimeout来模拟

      2018-07-06
      1
      回复
    • 微动励
      微动励
      2018-07-07回复卢霄霄

      对的,我现在就是这样做的

      2018-07-07
      回复
    • 微动励
      微动励
      2018-07-07回复卢霄霄

      对的,我现在就是这样做的,但是效果不是太好

      2018-07-07
      回复
    • 卢霄霄
      卢霄霄
      2018-07-07回复微动励

      能描述下你的页面吗

      2018-07-07
      回复
  • 是小白啊
    是小白啊
    2018-07-06


    2018-07-06
    有用
    回复
登录 后发表内容