微信小程序 ,列表头滚动的过程中 view 悬浮在顶部

微信小程序 ,列表头滚动的过程中 view 悬浮在顶部,第1张

微信小程序 ,列表头滚动的过程中 ,view  悬浮在顶部  ,如何实现这样的一个效果呢??

//indexjs

//获取应用实例

const app = getApp()

Page({

  data: {

    testData: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16],

    testData2: [1, 2, 3, 4, 5,  10],

    //是否显示 悬停布局

    isshow:false,

    //悬浮布局的数据

    toptexxt:""

  },

  onLoad: function () {

  },

  /

页面加载完成

/

  onReady: function () {

  },

  /

页面滚动监听

/

  onPageScroll: function (e) {

    //consolelog(e)

    let that = this

    let query = wxcreateSelectorQuery()

    queryselectAll("section-cell")boundingClientRect(function (res) {

      consolelog(res)

      let size =reslength;

      let position = -1;

      let topshow = -1000;//根据需求设置大小

      let i=0;

      //根据 top  的 大小 获取 当前距离顶部最近的view 的下标, 负数最大值 或者是0,

      for(i=0;i<size;i++){0

        let top = res[i]top;

        if(top<=0 && top>topshow ){

          topshow = top;

          position=i;

        }

      }

      consolelog("当前坐标是 position = "+position)

      let isshow =false;

      if (res[0]top<0){

        if(position==-1) position=0;

          isshow = true;

      }

      thatsetData({

        isshow: isshow,

        toptexxt: isshowthatdatatestData[position]:""

      })

    })exec()

  },

})

<!--indexwxml-->

<view>

  <view class='header'>这里是header</view>

  <view hidden='{{!isshow}}'>

    <view class= "section-header section-fixed" >这是section-header {{toptexxt}}</view>

  </view>

  <view wx:for="{{testData}}" wx:key="{{testData}}">

    <view>

      <view class='section-cell' id='top{{item}}'>{{item}} </view>

      <view wx:for="{{testData2}}" wx:key="{{testData2}}">

        <view class='section-cell2' id='child{{item}}'>{{item}}</view>

      </view>

    </view>

  </view>

</view>

/indexwxss/

section-placeholder {

  background-color: white;

}

section-fixed {

  position: fixed;

  top: 0;

}

header {

  height: 300rpx;

  width: 750rpx;

  background-color: bisque;

}

section-header {

  height: 80rpx;

  width: 750rpx;

  background-color: rebeccapurple;

}

section-cell {

  width: 750rpx;

  height:80rpx;

  background-color: gold;

  margin-top: 2rpx;

}

section-cell2 {

  height: 50rpx;

  width: 750rpx;

  background-color: darkred;

}

效果

在设计小程序页面的时候,想要设置滚动页面左右滚动,写了scroll-view的scroll-x,但是还是不能左右滚动。测试很多style样式,最后发现设置了min-width就可以实现滚动。

class样式:

效果如下:

小程序滚动条无法滚动到底,原因可能是触发下拉加载数据时,当原来数组元素大于100条时,会先把之前的数组截取后40条数据,再拼接新的10条数据赋值给数组来展示页面,这个时候因为数据变更导致滚动条失效。

快速滚动到顶部经常用于长消息列表,这种场景经常伴随着滚动至顶部后刷新等,今天就带大家了解如何实现这个功能。

效果展示

通过使用触发行为滚动到指定向,同时配合执行其它触发器,实现快速滚动到列表顶部的功能。

触发器配置

注意:在检查器面板中的触发器 设置面板创建触发器,可以对组件进行交互逻辑设置,或配合事件来进行动态数据 *** 作。

选中循环容器

点击检查面板中的触发器

创建触发器

选中图标

点击检查面板的触发器

创建触发器

这样就可以配置快速滚动到顶部的功能了。

以上就是关于微信小程序 ,列表头滚动的过程中 view 悬浮在顶部全部的内容,包括:微信小程序 ,列表头滚动的过程中 view 悬浮在顶部、小程序滚动页面不能滚动解决方案一、小程序滚动条无法滚动到底等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/10119862.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存