微信小程序?qū)崿F(xiàn)tab頁(yè)面切換效果
本文實(shí)例為大家分享了微信小程序?qū)崿F(xiàn)tab頁(yè)面切換的具體代碼,供大家參考,具體內(nèi)容如下

html 頁(yè)面
<view class="bgwhite">
? ? <scroll-view scroll-x="true">
? ? ? ? <view class="width100 row nowrap">
? ? ? ? ? ? <view class="f32 c666 p-tb-20 p-lr-30 {{currentData == 0 ? 'topic' : ''}}" data-current="0" bindtap='checkCurrent'>第1題</view>
? ? ? ? ? ? <view class="f32 c666 p-tb-20 p-lr-30 {{currentData == 1 ? 'topic' : ''}}" data-current="1" bindtap='checkCurrent'>第2題</view>
? ? ? ? ? ? <view class="f32 c666 p-tb-20 p-lr-30 {{currentData == 2 ? 'topic' : ''}}" data-current="2" bindtap='checkCurrent'>第3題</view>
? ? ? ? ? ? <view class="f32 c666 p-tb-20 p-lr-30 {{currentData == 3 ? 'topic' : ''}}" data-current="3" bindtap='checkCurrent'>第4題</view>
? ? ? ? ? ? <view class="f32 c666 p-tb-20 p-lr-30 {{currentData == 4 ? 'topic' : ''}}" data-current="4" bindtap='checkCurrent'>第5題</view>
? ? ? ? ? ? <view class="f32 c666 p-tb-20 p-lr-30 {{currentData == 5 ? 'topic' : ''}}" data-current="5" bindtap='checkCurrent'>第6題</view>
? ? ? ? </view>
? ? </scroll-view>
</view>
<swiper current="{{currentData}}" class='width100' style="height:600px;" duration="300" bindchange="bindchange">
? ? <swiper-item>
? ? ? ? <view class="m-lr-20">
? ? ? ? ? ? <view class="row p-t-30 p-b-10">
? ? ? ? ? ? ? ? <view class="radio_singel f22 p-lr-10">單選</view>
? ? ? ? ? ? ? ? <view class="m-l-20 weight500 f28">題目1</view>
? ? ? ? ? ? </view>
? ? ? ? ? ? <radio-group bindchange="radioChange">
? ? ? ? ? ? ? ? <label class="row alignitems bgwhite p-tb-25 p-lr-20 radius15 m-t-20">
? ? ? ? ? ? ? ? <view class="weui-cell__hd">
? ? ? ? ? ? ? ? ? ? <radio checked="true" color="#1989f9"/>
? ? ? ? ? ? ? ? </view>
? ? ? ? ? ? ? ? <view class="f30 weight500 m-l-10">A、1111</view>
? ? ? ? ? ? ? ? </label>
? ? ? ? ? ? ? ? <label class="row alignitems bgwhite p-tb-25 p-lr-20 radius15 m-t-20">
? ? ? ? ? ? ? ? <view class="weui-cell__hd">
? ? ? ? ? ? ? ? ? ? <radio color="#1989f9"/>
? ? ? ? ? ? ? ? </view>
? ? ? ? ? ? ? ? <view class="f30 weight500 m-l-10">B、2222</view>
? ? ? ? ? ? ? ? </label>
? ? ? ? ? ? ? ? <label class="row alignitems bgwhite p-tb-25 p-lr-20 radius15 m-t-20">
? ? ? ? ? ? ? ? <view class="weui-cell__hd">
? ? ? ? ? ? ? ? ? ? <radio color="#1989f9"/>
? ? ? ? ? ? ? ? </view>
? ? ? ? ? ? ? ? <view class="f30 weight500 m-l-10">C、3333</view>
? ? ? ? ? ? ? ? </label>
? ? ? ? ? ? ? ? <label class="row alignitems bgwhite p-tb-25 p-lr-20 radius15 m-t-20">
? ? ? ? ? ? ? ? <view class="weui-cell__hd">
? ? ? ? ? ? ? ? ? ? <radio color="#1989f9"/>
? ? ? ? ? ? ? ? </view>
? ? ? ? ? ? ? ? <view class="f30 weight500 m-l-10">D、4444</view>
? ? ? ? ? ? ? ? </label>
? ? ? ? ? ? </radio-group>
? ? ? ? </view>
? ? </swiper-item>
? ? <swiper-item>
? ? ? ? <view class="m-lr-20">
? ? ? ? ? ? <view class="row p-t-30 p-b-10">
? ? ? ? ? ? ? ? <view class="radio_singel f22 p-lr-10">單選</view>
? ? ? ? ? ? ? ? <view class="m-l-20 weight500 f28">題目2</view>
? ? ? ? ? ? </view>
? ? ? ? ? ? <video src="" style="width:100%;"></video>
? ? ? ? ? ? <radio-group bindchange="radioChange">
? ? ? ? ? ? ? ? <label class="row alignitems bgwhite p-tb-25 p-lr-20 radius15 m-t-20">
? ? ? ? ? ? ? ? <view class="weui-cell__hd">
? ? ? ? ? ? ? ? ? ? <radio checked="true" color="#1989f9"/>
? ? ? ? ? ? ? ? </view>
? ? ? ? ? ? ? ? <view class="f30 weight500 m-l-10">A、1111</view>
? ? ? ? ? ? ? ? </label>
? ? ? ? ? ? ? ? <label class="row alignitems bgwhite p-tb-25 p-lr-20 radius15 m-t-20">
? ? ? ? ? ? ? ? <view class="weui-cell__hd">
? ? ? ? ? ? ? ? ? ? <radio color="#1989f9"/>
? ? ? ? ? ? ? ? </view>
? ? ? ? ? ? ? ? <view class="f30 weight500 m-l-10">B、2222</view>
? ? ? ? ? ? ? ? </label>
? ? ? ? ? ? ? ? <label class="row alignitems bgwhite p-tb-25 p-lr-20 radius15 m-t-20">
? ? ? ? ? ? ? ? <view class="weui-cell__hd">
? ? ? ? ? ? ? ? ? ? <radio color="#1989f9"/>
? ? ? ? ? ? ? ? </view>
? ? ? ? ? ? ? ? <view class="f30 weight500 m-l-10">C、3333</view>
? ? ? ? ? ? ? ? </label>
? ? ? ? ? ? ? ? <label class="row alignitems bgwhite p-tb-25 p-lr-20 radius15 m-t-20">
? ? ? ? ? ? ? ? <view class="weui-cell__hd">
? ? ? ? ? ? ? ? ? ? <radio color="#1989f9"/>
? ? ? ? ? ? ? ? </view>
? ? ? ? ? ? ? ? <view class="f30 weight500 m-l-10">D、4444</view>
? ? ? ? ? ? ? ? </label>
? ? ? ? ? ? </radio-group>
? ? ? ? </view>
? ? </swiper-item>
? ? <swiper-item>
? ? </swiper-item>
? ? <swiper-item>
? ? </swiper-item>
? ? <swiper-item>
? ? </swiper-item>
</swiper>
<view class="footer p-tb-25">
? ? <view class="m-lr-30 row just-btw">
? ? ? ? <view class="row alignitems" bindtap="prevClick">
? ? ? ? ? ? <image src="../../images/prev_icon.png" mode="aspectFit" style="width:48rpx;height:42rpx;"></image>
? ? ? ? ? ? <view class="f36 weight500 m-l-10">上一題</view>
? ? ? ? </view>
? ? ? ? <view class="jiaojuanbtn f30 white p-tb-20">交卷</view>
? ? ? ? <view class="row alignitems" bindtap="nextClick">
? ? ? ? ? ? <view class="f36 weight500 m-r-10">下一題</view>
? ? ? ? ? ? <image src="../../images/next_icon.png" mode="aspectFit" style="width:48rpx;height:42rpx;"></image>
? ? ? ? </view>
? ? </view>
</view>css樣式
.topic{
? ? position: relative;
? ? color:#000;
}
.topic::before{
? ? position: absolute;
? ? content:"";
? ? width:80rpx;
? ? height:6rpx;
? ? background: #1989f9;
? ? border-radius: 20rpx;
? ? bottom: 0;
? ? left:50%;
? ? transform: translateX(-50%);
}
.radio_singel{
? ? background: #e6f7ff;
? ? border:1px solid #91d4fe;
? ? color:#1890ff;
}
.footer{
? ? position: fixed;
? ? bottom: 0;
? ? background-color: #fff;
? ? left:0;
? ? right:0;
}js 頁(yè)面
data: {
? ? ? ? currentData:0,
? ? },
?? ?//獲取當(dāng)前滑塊的index
? ? bindchange(e){
? ? ? ? const that ?= this;
? ? ? ? that.setData({
? ? ? ? ? ? currentData: e.detail.current
? ? ? ? })
? ? },
? ? //點(diǎn)擊切換,滑塊index賦值
? ? checkCurrent(e){
? ? ? ? const that = this;
? ? ? ? if (that.data.currentData === e.target.dataset.current){
? ? ? ? ? ? return false;
? ? ? ? }else{
? ? ? ? ? ? that.setData({
? ? ? ? ? ? ? ? currentData: e.target.dataset.current
? ? ? ? ? ? })
? ? ? ? }
? ? },
? ? //上一題
? ? prevClick(){
? ? ? ? var currentData = this.data.currentData - 1
? ? ? ? if(currentData + 1 == 0){
? ? ? ? ? ? wx.showToast({
? ? ? ? ? ? ? title: '這是第1題了',
? ? ? ? ? ? })
? ? ? ? }else{
? ? ? ? ? ? this.setData({
? ? ? ? ? ? ? ? currentData:currentData
? ? ? ? ? ? })
? ? ? ? }
? ? },
? ? //下一題
? ? nextClick(){
? ? ? ? this.setData({
? ? ? ? ? ? currentData:this.data.currentData + 1
? ? ? ? })
? ? },以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- 微信小程序開發(fā)之實(shí)現(xiàn)選項(xiàng)卡(窗口頂部TabBar)頁(yè)面切換
- 微信小程序?qū)崿F(xiàn)tab左右切換效果
- 微信小程序 Tab頁(yè)切換更新數(shù)據(jù)
- 微信小程序 swiper制作tab切換實(shí)現(xiàn)附源碼
- 微信小程序開發(fā)之選項(xiàng)卡(窗口底部TabBar)頁(yè)面切換
- 微信小程序?qū)崿F(xiàn)tab切換效果
- 微信小程序滾動(dòng)Tab實(shí)現(xiàn)左右可滑動(dòng)切換
- 微信小程序?qū)崿F(xiàn)tab和swiper切換結(jié)合效果
- 微信小程序?qū)崿F(xiàn)tab頁(yè)面切換功能
- 微信小程序開發(fā)實(shí)現(xiàn)的選項(xiàng)卡(窗口頂部/底部TabBar)頁(yè)面切換功能圖文詳解
相關(guān)文章
JavaScript中Promise的使用方法實(shí)例
現(xiàn)在不會(huì)用Promise都不好意思說(shuō)自己是前端,下面這篇文章主要給大家介紹了關(guān)于JavaScript中Promise使用的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-05-05
js圖片實(shí)時(shí)加載提供網(wǎng)頁(yè)打開速度
沒必要一開始加載就要把全部圖片加載出來(lái),這樣子打開網(wǎng)面的速度得到了很好提高,下面有個(gè)不錯(cuò)的思路,大家可以看看2014-09-09
javascript Array.prototype.slice使用說(shuō)明
slice 可以用來(lái)獲取數(shù)組片段,它返回新數(shù)組,不會(huì)修改原數(shù)組。2010-10-10
Javascript本地存儲(chǔ)localStorage看這一篇就夠了
這篇文章主要給大家介紹了關(guān)于Javascript本地存儲(chǔ)localStorage的相關(guān)資料,localStorage會(huì)可以將第一次請(qǐng)求的數(shù)據(jù)直接存儲(chǔ)到本地,這個(gè)相當(dāng)于一個(gè)5M大小的針對(duì)于前端頁(yè)面的數(shù)據(jù)庫(kù),需要的朋友可以參考下2024-07-07
JS實(shí)現(xiàn)的Unicode編碼轉(zhuǎn)換操作示例
這篇文章主要介紹了JS實(shí)現(xiàn)的Unicode編碼轉(zhuǎn)換操作,結(jié)合完整實(shí)例形式分析了javascript實(shí)現(xiàn)Unicode編碼轉(zhuǎn)換的具體操作技巧,需要的朋友可以參考下2017-04-04
JS實(shí)現(xiàn)的適合做faq或menu滑動(dòng)效果示例
這篇文章主要介紹了JS實(shí)現(xiàn)的適合做faq或menu滑動(dòng)效果,結(jié)合實(shí)例形式分析了基于JS實(shí)現(xiàn)的頁(yè)面元素滑動(dòng)漸變效果的相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2016-11-11

