English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

微信開発でjsを使用してtabsタブ効果を実現

最近のWeChatアプリケーションは非常に人気があり、注目が集まっていますが、検索キーワードが出てくると、さまざまなウェブサイトに表示されるのはすべてWeChatの公式ドキュメントの説明です。このブームに乗じて、この数日間は小程序技術ドキュメントを一通り読みました。多くのコンポーネントはWeChat内部で封装されていますが、tabタブ効果がないことを発見しました。この数日間、研究しました。以下はその考え方です: 

1、ナビゲーションをクリックする際には、現在のクリックスタイルクラスと他のナビゲーションのデフォルトスタイルクラスを格納する必要があります

2、タブコンテンツリストには、現在表示されているブロックと他の隠されたデフォルトブロックを格納する必要があります

3、トリガーイベントをクリックしてナビゲーションインデックスを取得し、インデックスに応じてクラスを追加するかどうかを判断します【注記:ここでは、クリックイベントを親ナビゲーションバーにバインドして、ターゲットオブジェクトからクリックをトリガーするイベントオブジェクトの属性を取得しています】

以下の図を参照してください:

次にソースコードを直接確認してください:

demo.wxml:

<view class="tab"> 
 <view class="tab-left" bindtap="tabFun"> 
 <view class="{{tabArr.curHdIndex=='0'? 'active' : ''}}" id="tab-hd01" data-id="0">tab-hd01</view> 
 <view class="{{tabArr.curHdIndex=='1'? 'active' : ''}}" id="tab-hd02" data-id="1">tab-hd01</view> 
 <view class="{{tabArr.curHdIndex=='2'? 'active' : ''}}" id="tab-hd03" data-id="2">tab-hd01</view> 
 <view class="{{tabArr.curHdIndex=='3'? 'active' : ''}}" id="tab-hd04" data-id="3">tab-hd01</view> 
 </view> 
 <view class="tab-right"> 
 <view class="right-item {{tabArr.curBdIndex=='0'? 'active' : ''}}">tab-bd01</view> 
 <view class="right-item {{tabArr.curBdIndex=='1'? 'active' : ''}}">tab-bd02</view> 
 <view class="right-item {{tabArr.curBdIndex=='2'? 'active' : ''}}">tab-bd03</view> 
 <view class="right-item {{tabArr.curBdIndex=='3'? 'active' : ''}}">tab-bd04</view> 
 </view> 
</view> 

demo.js:

Page( { 
 data: { 
 tabArr: { 
 curHdIndex: 0, 
 curBdIndex: 0 
 }, 
 }, 
 tabFun: function(e){ 
 //取得発火イベントコンポーネントのdataset属性 
 var _datasetId=e.target.dataset.id; 
 console.log("----"+_datasetId+"----"); 
 var _obj={}; 
 _obj.curHdIndex=_datasetId; 
 _obj.curBdIndex=_datasetId; 
 this.setData({} 
 tabArr: _obj 
 }); 
 }, 
 onLoad: function( options ) { 
 alert( "------" ); 
 } 
}); 

demo.wxss:

.tab{ 
 display: flex; 
 flex-direction: row; 
} 
.tab-left{ 
 width: 200rpx; 
 line-height: 160%; 
 border-right: solid 1px gray; 
} 
.tab-left view{ 
 border-bottom: solid 1px red; 
} 
.tab-left .active{ 
 color: #f00; 
} 
.tab-right{ 
 line-height: 160%; 
} 
.tab-right .right-item{ 
 padding-left: 15rpx; 
 display: none; 
} 
.tab-right .right-item.active{ 
 display: block; 
} 

最終的なデモンストレーション効果は以下の通りです:


これは個人の提案に過ぎません。もっと良い提案があれば、お気軽にお知らせください~

この記事は「JavaScript微信開発技術集約」にまとめられました。皆様の学習と読書をお待ちしております。

現在、多くの人が関心を持っている微信小程序の教程を一つご紹介します:《微信小程序開発教程》。編集者が丁寧に整理しました。お気に入りいただけますように。

これで本文のすべてが終わりです。皆様の学習に役立てば幸いです。皆様の応援をどうぞ。

声明:本文の内容はインターネットから取得しており、著作権者に帰属します。インターネットユーザーが自発的に貢献し、自己でアップロードしました。本サイトは所有権を持ちません。また、人工編集は行われていません。著作権侵害を疑われる内容が見つかりましたら、以下のメールアドレスにご連絡ください:notice#oldtoolbag.com(メール送信時、#を@に変更してください。報告を行い、関連する証拠を提供してください。一旦確認が取れましたら、本サイトは即座に侵害を疑われる内容を削除します。)

おすすめ