微信小程式頁面向下滾動時tab欄固定頁面頂部例項講解
阿新 • • 發佈:2021-03-09
先看一下效果圖:
index.wxml
<view class='{{tabIsTop ? "fixedTop" : ""}}'> <i-tabs tabcurrent="{{tabcurrent}}" color="#FF0000" bindchange="tabChange"> <i-tab key="tab1" title="車主圈"></i-tab> <i-tab key="tab2" title="行業新聞"></i-tab> <i-tab key="tab3" ti程式設計客棧tle="養護寶典"></i-tab> <i-tab key="tab4http://www.cppcns.com" title="自駕遊"></i-tab> </i-tabs> </view>
特別說明:這裡使用的tab標籤頁是iviewui的框架,地址:https://weapp.iviewui.com/components/tabs
index.wxss
.fixedTop { width: 100%; position: fixed; top: 0; z-index: 99; }
index.js
Page({ /** * 頁面的初始資料 */ data: { tabcurrent: 'tab1',tabIsTop:false,scrollTop: 0,},/** * 生命週期函式--監聽頁面載入 */ onLoad: function (options) { },ontabChange(event) { this.setData({ active: event.detail }); },//監聽螢幕滾動 判斷上下滾動 onPageScroll: function (ev) { var _this = this;http://www.cppcns.com//當滾動的top值最大或最小時,為什麼要做這一步是因為在手機實測小程式的時候會發生滾動條回彈,所以為了處理回彈,設定預設最大最小值 if (ev.scrollTop <= 0) { // 滾動到最頂部 ev.scrollTop = 0; this.setData({ tabIsTop: false }); } else if (ev.scrol程式設計客棧lTop > wx.getSystemInfoSync().windowHeight) { // 滾動到最底部 ev.scrollTop = wx.getSystemInfoSync().windowHeight; } //判斷瀏覽器滾動條上下滾動 if (ev.scrollTop > this.data.scrollTop || ev.scrollTop == wx.getSystemInfoSync().windowHeight) { //向下滾動 this.setData({ tabIsTop: true }); } else { //向上滾動 } //給scrollTop重新賦值 setTimeout(function () { _this.setData(http://www.cppcns.com{ scrollTop: ev.scrollTop }) },0) },})
到此這篇關於微信小程式頁面向下滾動時tab欄固定頁面頂部例項講解的文章就介紹到這了,更多相關微信小程式頁面向下滾動時tab欄固定頁面頂部內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!