小程序bindscroll保存值时js中的值和页面中的值存在延迟?

发布于 2022-09-11 17:59:26 字数 934 浏览 25 评论 0

问题描述

通过bindscroll的滚动事件拿到当前的高度再跟数组中的值进行比较设置左侧当前的类目

问题出现的环境背景及自己尝试过哪些方法

clipboard.png

滚动事件已经触发了,在js中打印值也已经发生了变化,页面中会等待一会才会发生数据的改变。
而且延迟时间有时候很长十几秒,有时候很短瞬间同步。
clipboard.png

相关代码

// 请把代码文本粘贴到下方(请勿用图片代替代码)
scroll: function(t) {

var that =this;
var a = this.data.dataheith, e = this.data.catalogSelect;

  for (var o = t.detail.scrollTop, s = 0; s < a.length; s++){
      if (o <= a[s]) {
        if(e !=a[s]){
          this.setData({
            scroll_top: o,
            catalogSelect: s,
            toType: "type" + (s - 2)
          });
          break;
        }

      }
  }
console.log(that.data.catalogSelect)
},

你期待的结果是什么?实际看到的错误信息又是什么?

为什么数值发生了卡顿,在js中已经成功的答应,在html中的延迟是怎么出来的?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

拥抱我好吗 2022-09-18 17:59:26

已解决,是自己判断问题,导致了大量的setdata

谈下烟灰 2022-09-18 17:59:26

我没有大量 setData 为什么 也是这种情况呢

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文