收藏
回答

onPageScroll延时怎么还不解决?已经很久了

onPageScroll做吸顶效果。。发现到达指定的位置 this.data.xxx的变量已经改了。但是class里面始终不会生效!。。。。能不能给解决下?已经很久了啊!!!

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

8 个回答

  • 清风明月
    清风明月
    2018-11-17

    不要指望官方了,这个都很久了,他们硬是说没问题,你能咋办啊

    2018-11-17
    有用 4
    回复
  • 钢蛋
    钢蛋
    2023-11-08

    这个老哥说得比较详细,可以解决这个问题https://blog.csdn.net/w001yy/article/details/106765954(总体就是频繁的去 setData 部分小程序会非常频繁(毫秒级)的去setData,其导致了两个后果: Android 下用户在滑动时会感觉到卡顿,操作反馈延迟严重

    2023-11-08
    有用
    回复
  • StanJ
    StanJ
    2019-05-09

    不要用onPageScroll来做吸顶效果,用createIntersectionObserver来做,效果会好一些


    2019-05-09
    有用
    回复
  • 🥊🥊🥊
    🥊🥊🥊
    2018-12-03

    小米8上体验非常差,延迟时间很长的

    2018-12-03
    有用
    回复
  • starfish
    starfish
    2018-11-09

    我也有同样问题,个别机型(YQ601,HUAWEI RIO-AL00),滑动的时候 某一个view的位置一直不能及时改变,延时的时间起码有5秒,大部分机型是正常的  是用这个方法获取的位置

    wx.createSelectorQuery().select('#gift_button').boundingClientRect(function (rect1) {

        var gift_button_top = rect1.top//按钮所在位置的top

        var gift_button_height = rect1.height//按钮高度

        console.log(gift_button_top + "----" + gift_button_height + "----" + that.data.windowHeight );

    }).exec()    我是获取了高度后,控制底下的按钮的显示、隐藏,可是这延时太久了 导致总是两个按钮都显示了





    2018-11-09
    有用
    回复
  • 你吼那么大声干什么
    你吼那么大声干什么
    2018-10-30

    今天遇到同样的问题,去看eleme的小程序做得效果又不错,啊。。。

    2018-10-30
    有用
    回复
  • 张自方
    张自方
    2018-10-18

    wechatide://minicode/80RK0fmz7w34  去看看这个

    2018-10-18
    有用
    回复 6
    • 灵芝
      灵芝
      2018-10-18

      这边测试是有效果的呀

      2018-10-18
      回复
    • Ping
      Ping
      2018-10-26回复灵芝

      您好,这个demo您在开发者工具中任何机型模拟或者iOS端真机上预览都是没有问题的,但在安卓端真机上看就会发现表现极差,延时会很严重,尤其是页面中再有几个view有bindtap事件之后会更差,延时惊人,无论安卓低端机高端机表现都很难接受,拜托您一定看一下

      2018-10-26
      1
      回复
    • 灵芝
      灵芝
      2018-10-26回复Ping

      这边测试了没发现什么问题,麻烦提供一下GIF图和代码片段哈

      2018-10-26
      回复
    • 清风明月
      清风明月
      2018-11-17回复灵芝

      很多安卓机器效果都很差,延迟厉害、

      2018-11-17
      3
      回复
    • 冯少
      冯少
      2019-03-29

      你这个demo之所以有延迟主要还是因为代码优化没有做好,你这样太过于频繁触发setData,改成下面这样就好了

      onPageScroll:function(e){

      if (e.scrollTop > 150){

              if (!this.data.className) { // 加上这个判断

                  this.setData({

                      className: true

                  })

              }

      }else{

              if (this.data.className) { // 加上这个判断

                  this.setData({

                      className: false

                  })

              }

      }

      }


      2019-03-29
      回复
    查看更多(1)
  • 灵芝
    灵芝
    2018-10-18

    麻烦提供能复现问题的代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)

    2018-10-18
    有用
    回复 1
登录 后发表内容