ホームページ  >  記事  >  WeChat アプレット  >  タブ効果を実現するためにWeChatによって開発されたjs

タブ効果を実現するためにWeChatによって開発されたjs

不言
不言オリジナル
2018-06-22 17:43:472281ブラウズ

この記事は主にWeChat開発の勉強ノートを紹介しており、jsは一定の参考値を持っていますので、興味のある友人はそれを参照してください

最近、WeChatアプリケーションアカウントが本格的に普及しており、非常に人気があります。 , キーワードで検索すると、さまざまなWebサイトに表示されるのはWeChatの公式文書の説明であることもわかります。ちょうどこの流行に追いつくために、私はここ数日でミニ プログラムの技術ドキュメントを読み、それからケースを直接書き始めました。 WeChat 内には多くのコンポーネントがパッケージ化されていますが、タブ効果がないことがわかったので、ここ 2 日間で勉強したところです。考え方は次のとおりです:

1. まず、ナビゲーションをクリックするときに、2 つの変数が必要です。1 つは現在のクリック スタイル クラスを保存するもので、もう 1 つは他のナビゲーションのデフォルトのスタイル クラスです。タブ コンテンツ リストには 2 つの変数も必要です。1 つは現在のクリック スタイル クラスを保存するもので、もう 1 つは他の非表示のデフォルト ブロックを保存するものです

3. 三眼演算を使用して、クリックによってナビゲーション インデックスを取得し、現在のものを追加するかどうかを判断します。インデックスに基づくクラス [注: ここでは、ターゲット オブジェクトは、クリックによってトリガーされるイベント オブジェクトのプロパティを取得します] を介して、クリック イベントを親ナビゲーション バーにバインドします。

次のレンダリングを組み合わせてください:

次に、ソースコードを直接:

demo.wxml:

<view class="tab"> 
 <view class="tab-left" bindtap="tabFun"> 
 <view class="{{tabArr.curHdIndex==&#39;0&#39;? &#39;active&#39; : &#39;&#39;}}" id="tab-hd01" data-id="0">tab-hd01</view> 
 <view class="{{tabArr.curHdIndex==&#39;1&#39;? &#39;active&#39; : &#39;&#39;}}" id="tab-hd02" data-id="1">tab-hd01</view> 
 <view class="{{tabArr.curHdIndex==&#39;2&#39;? &#39;active&#39; : &#39;&#39;}}" id="tab-hd03" data-id="2">tab-hd01</view> 
 <view class="{{tabArr.curHdIndex==&#39;3&#39;? &#39;active&#39; : &#39;&#39;}}" id="tab-hd04" data-id="3">tab-hd01</view> 
 </view> 
 
 <view class="tab-right"> 
 <view class="right-item {{tabArr.curBdIndex==&#39;0&#39;? &#39;active&#39; : &#39;&#39;}}">tab-bd01</view> 
 <view class="right-item {{tabArr.curBdIndex==&#39;1&#39;? &#39;active&#39; : &#39;&#39;}}">tab-bd02</view> 
 <view class="right-item {{tabArr.curBdIndex==&#39;2&#39;? &#39;active&#39; : &#39;&#39;}}">tab-bd03</view> 
 <view class="right-item {{tabArr.curBdIndex==&#39;3&#39;? &#39;active&#39; : &#39;&#39;}}">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; 
}

最終的なデモンストレーション効果は次のとおりです:


上記は単なる個人的な計画です。より良い計画がある場合は、提案してください〜

上記は記事の内容全体です。より多くの関連コンテンツについては、それが役立つことを願っています。 、PHP 中国語 Web サイトに注意してください。

関連する推奨事項:

雲を浮かせる効果を実現する WeChat アプレット開発用のアニメーション ループ アニメーション


WeChat アプレットでデータ変更後にページが表示されない問題が発生する問題の解決方法


WeChat アプレット チェックボックスを使用して複数選択ボックス機能を表示する [ソースコード付き]


以上がタブ効果を実現するためにWeChatによって開発されたjsの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。