小程序頁面獲取滾動條高度

沒有用過vue等MVVM的框架,直接開始作小程序,沒有dom操做真是各類不適應,思惟有時都轉換不過來vue

想要作的效果是  很常見的滾動條超出某個元素時,該元素固定在頂部小程序

網上看到的獲取滾動條高度及返回頂部的代碼api

onPageScroll:function(e){ // 獲取滾動條當前位置
    console.log(e)
},
goTop: function (e) {  // 一鍵回到頂部
 if (wx.pageScrollTo) {
    wx.pageScrollTo({
      scrollTop: 0
    })
  } else {
    wx.showModal({
      title: '提示',
      content: '當前微信版本太低,沒法使用該功能,請升級到最新微信版本後重試。'
    })
  }
}  

在api WXML節點信息這邊能夠選取節點並使用boundingClientRect方法獲取元素信息微信

代碼以下:框架

<view class='tab-con' id="tab-con">
    <view class="tab {{tabFixed ? 'tab-fixed':''}}">
      <view>二月</view>
      <view>三月</view>
      <view>四月</view>
    </view>
  </view>

 

js代碼大概以下dom

Page({
  data: {
    tabScrollTop: 0,
    tabFixed: false
  },
    onReady:function(){
    var that = this;
    var query = wx.createSelectorQuery()
    query.select('#tab-con').boundingClientRect(function (res) {
      that.setData({
        tabScrollTop: res.top
      })
    }).exec()
  },
  onPageScroll: function (e) { // 獲取滾動條當前位置
      if (e.scrollTop > this.data.tabScrollTop) {
        this.setData({
          tabFixed: true
        })
      }else{
        this.setData({
          tabFixed: false
        })
      }
  },
})  
相關文章
相關標籤/搜索