微信小程序?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,在通過點擊事件所傳出去的索引進行判斷,從而獲得當前所點擊的對象給到樣式,樣式我們就用三元表達式判斷賦予樣式,如下點擊方法
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)點擊滾動很簡單,要滾動回去就要判斷了,如下代碼,只要當前的this.scrollinto = 'tab' + index就能實現(xiàn)點擊就滾動,回去是就要判斷當前點擊的縮影,手動賦值,給一個最好的區(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-12
javascript實現(xiàn)檢驗的各種規(guī)則
這篇文章主要介紹了javascript實現(xiàn)檢驗的各種規(guī)則,涉及javascript針對手機號、郵箱、網(wǎng)址、漢字及圖片等相關(guān)檢測技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-07-07
javascript設(shè)計模式 – 外觀模式原理與用法實例分析
這篇文章主要介紹了javascript設(shè)計模式 – 外觀模式,結(jié)合實例形式分析了javascript外觀模式基本概念、原理、用法及操作注意事項,需要的朋友可以參考下2020-04-04

