沒有用過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 }) } }, })