微信小程序?qū)崿F(xiàn)tab組件切換動畫
前言
本次主要內(nèi)容是介紹頁面tab的開發(fā),如何實現(xiàn)tab與頁面內(nèi)容聯(lián)動呢?關(guān)注我就知道!
本次效果展示
如何實現(xiàn)頁面tab
1.使用內(nèi)置組件scroll-view
如下圖所示,我們需要使用到紅色框框中的屬性,此屬性可也實現(xiàn)滾動
這里有一個大坑,不管是使用scroll-x還是scroll-y遍歷數(shù)據(jù)都是出現(xiàn)在左邊一數(shù)列(這里我們只關(guān)注scroll-x、scroll-y)
<scroll-view scroll-x="true" class='scroll-view-t' :scroll-into-view="scrollinto"> <view v-for="(item,index) in 20 " :key='index' :id="'tab'+index" :class="currentIndex==index?'active':''" @click="changeTab(index)"> {{item}} </view> </scroll-view> <scroll-view scroll-y="true" :style="'height:'+scrollH+'px'"> <view v-for="(item,index) in 100 " :key='index'> {{item}} </view> </scroll-view>
我們只能通過樣式來改變它,讓它橫過來
.scroll-view-t view { display: inline-block; font-size: 32rpx !important; margin: 0 15rpx; } .scroll-view-t { white-space: nowrap; height: 88rpx; line-height: 88rpx; }
2.實現(xiàn)點擊時出現(xiàn)的背景樣式
這里我們需要定義一個默認的索引currentIndex,在通過點擊事件所傳出去的索引進行判斷,從而獲得當(dāng)前所點擊的對象給到樣式,樣式我們就用三元表達式判斷賦予樣式,如下點擊方法
changeTab(index) { //nabbar欄點擊切換 // if (this.currentIndex === index) return this.currentIndex = index // this.scrollinto = 'tab' + index // if (this.currentIndex < 10) { // this.scrollinto = 'tab0' // } },
如下是綁定的點擊事件和三元表達式判斷賦予樣式,其中背景樣式提前寫好了
<view v-for="(item,index) in 20 " :key='index' :id="'tab'+index" :class="currentIndex==index?'active':''" @click="changeTab(index)"> {{item}} </view>
不過現(xiàn)在只實現(xiàn)了通過點擊樣式發(fā)生改變,感覺實現(xiàn)了tab切換,眼下要解決點擊時tab這個導(dǎo)航條也要自己滾動起來,不能一邊手動滾動,然后再點擊吧
3.scroll-into-view
使用scroll-into-view,實現(xiàn)點擊時自動滾動
使用它的目的主要是,在點解tab時可以實現(xiàn),你向那個方向點,他就往那個方向滾動,不過在點回去的時候,就有坑了,需要對其作出判斷
閱讀文檔很難理解對吧,我在這里說說我的理解,這里是想要我們通過在scroll-view中屬性scroll-into-view綁定一個元素,此元素還要獲得id,此id還不能已數(shù)字開頭,此id就是移動的關(guān)鍵,需要綁定,所遍歷內(nèi)容的索引,從而實現(xiàn)往哪里滾動,不過想點回去就需要進行判斷
如下代碼中在scroll-view,使用scroll-into-view綁定了一個自己定義的空元素scrollinto
在v-for遍歷后獲得了索引,id就通過索引進行了綁定,拼接了以tab開頭
<scroll-view scroll-x="true" class='scroll-view-t' :scroll-into-view="scrollinto"> <view v-for="(item,index) in 20 " :key='index' :id="'tab'+index" :class="currentIndex==index?'active':''" @click="changeTab(index)"> {{item}} </view> </scroll-view>
實現(xiàn)點擊滾動很簡單,要滾動回去就要判斷了,如下代碼,只要當(dāng)前的this.scrollinto = 'tab' + index就能實現(xiàn)點擊就滾動,回去是就要判斷當(dāng)前點擊的縮影,手動賦值,給一個最好的區(qū)間,這樣效果更好
changeTab(index) { //nabbar欄點擊切換 if (this.currentIndex === index) return this.currentIndex = index this.scrollinto = 'tab' + index if (this.currentIndex < 10) { this.scrollinto = 'tab0' } },
到此這篇關(guān)于微信小程序?qū)崿F(xiàn)tab組件切換動畫的文章就介紹到這了,更多相關(guān)小程序tab組件切換內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
微信小程序開發(fā)自定義tabBar實戰(zhàn)案例(定制消息99+小紅心)
一定的需求情況下無法使用小程序原生的tabbar的時候,需要自行實現(xiàn)一個和tabbar功能一模一樣的自制組件,下面這篇文章主要給大家介紹了關(guān)于微信小程序開發(fā)自定義tabBar(定制消息99+小紅心)的相關(guān)資料,需要的朋友可以參考下2022-12-12javascript實現(xiàn)檢驗的各種規(guī)則
這篇文章主要介紹了javascript實現(xiàn)檢驗的各種規(guī)則,涉及javascript針對手機號、郵箱、網(wǎng)址、漢字及圖片等相關(guān)檢測技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-07-07javascript設(shè)計模式 – 外觀模式原理與用法實例分析
這篇文章主要介紹了javascript設(shè)計模式 – 外觀模式,結(jié)合實例形式分析了javascript外觀模式基本概念、原理、用法及操作注意事項,需要的朋友可以參考下2020-04-04