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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了微信小程序 ,列表头滚动的过程中 view 悬浮在顶部相关的知识,希望对你有一定的参考价值。

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

//index.js

//获取应用实例

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)

    //console.log(e)

    let that = this

    let query = wx.createSelectorQuery()

    query.selectAll(".section-cell").boundingClientRect(function (res)

      console.log(res)

      let size =res.length;

      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;

       

     

      console.log("当前坐标是 position = "+position)

      let isshow =false;

      if (res[0].top<0)

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

          isshow = true;

     

      that.setData(

        isshow: isshow,

        toptexxt: isshow?that.data.testData[position]:""

      )

    ).exec()

  ,

)

<!--index.wxml-->

<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='topitem'>item </view>

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

        <view class='section-cell2' id='childitem'>item</view>

      </view>

    </view>

  </view>

</view>

/**index.wxss**/

.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;



图片效果

以上是关于微信小程序 ,列表头滚动的过程中 view 悬浮在顶部的主要内容,如果未能解决你的问题,请参考以下文章

微信小程序:scroll-view滚动组件

微信小程序实现左右联动的菜单列表

微信小程序中悬浮窗功能的实现(主要探讨和解决在原生组件上的拖动)

微信小程序实现无限滚动列表(滚动新闻动态列表)

微信小程序 iPhone6 ,iso10版本 scroll-view浮层 滑动穿透 滑动无效

微信小程序scroll-view 能自动滚动吗