WeChatコンポーネントの形式で提供されます。コンポーネント内部ではasync/awaitが使用されるため、WeChat開発者ツールの「詳細=>ローカル設定」で「コンパイルを強化してnpmを使用する」にチェックを入れてください。ミニプログラムでのnpmの使用については、WeChatミニプログラム-npmサポートを参照してください。 まず効果図を見てみましょう:手順:ステップ1: 依存関係をインストールするか、githuaにアクセスしてソースコードをダウンロードし、distディレクトリの下にlottary-turntableディレクトリをコピーします。 npm i 宝くじターンテーブル wx ミニプログラム用 ステップ2: ページJSON構成 { "コンポーネントの使用": { "lottery-turntable":"lottery-turntable-for-wx-miniprogram/lottery_turntable/index" } } ステップ3: データを準備し、イベント処理を追加する(コンポーネント ページ JS を使用) 定数データ = [{ "id": "792085712309854208", "imgUrl": "../../images/icon.png", "title": "サンダー プラチナ メンバー マンスリー カード - 1" }, { "id": "766410261029724160", "imgUrl": "../../images/icon.png", "title": "サンダー プラチナ メンバー マンスリー カード - 2" }, { "id": "770719340921364480", "imgUrl": "../../images/icon.png", "title": "サンダー プラチナ メンバー マンスリー カード - 3" }, { "id": "770946438416048128", "imgUrl": "../../images/icon.png", "title": "サンダー プラチナ メンバー マンスリー カード - 4" }, { "id": "781950121802735616", "imgUrl": "../../images/icon.png", "title": "サンダー プラチナ メンバー マンスリー カード - 5" }, { "id": "766411654436233216", "imgUrl": "../../images/icon.png", "title": "サンダー プラチナ メンバー マンスリー カード - 6" }, { "id": "770716883860332544", "imgUrl": "../../images/icon.png", "title": "サンダー プラチナ メンバー マンスリー カード - 7" }, { "id": "796879308510732288", "imgUrl": "../../images/icon.png", "title": "サンダー プラチナ メンバー マンスリー カード - 8" }]; ページ({ データ: { datas: datas, // データ PrizeId: '', // 優勝結果 ID は属性を通じてコンポーネントに渡されます config: { // ターンテーブル構成は属性を通じてコンポーネントに渡されます titleLength: 7 } }, /** * 回数不足のコールバック* @param e */ onNotEnoughHandle(e) { wx.showToast({ アイコン: 'なし'、 タイトル: e.detail }) }, /** *抽選コールバック*/ onLuckDrawHandle() { this.setData({ 賞品ID: this.data.datas[Math.floor(Math.random() * 10 % this.data.datas.length)].id }); }, /** * アニメーション回転完了コールバック */ onLuckDrawFinishHandle() { 定数データ = this.data.datas; constデータ = datas.find((item) => { item.id === this.data.prizeId を返します。 }); wx.showToast({ アイコン: 'なし'、 title: `${data.title} 優勝おめでとうございます` }) this.setData({ 賞品ID: '' }); } }) ステップ4: ページの使用状況 <宝くじターンテーブル データ="{{データ}}" 賞品ID="{{prizeId}}" カウント="{{5}}" config="{{config}}" bindLuckDraw="onLuckDrawHandle" bindNotEnough="onNotEnoughHandle" bindLuckDrawFinish="onLuckDrawFinishHandle" </宝くじターンテーブル> ステップ5: コンポーネント構成項目を変更し(以下はデフォルトの構成です)、config属性を通じてjsオブジェクトを渡します。 /** * イーズ: 値は以下の通りです* 'linear' アニメーションの速度は最初から最後まで同じです* 'ease' アニメーションは低速で始まり、その後加速し、終了前に低速になります* 'ease-in' アニメーションは低速で始まります* 'ease-in-out' アニメーションは低速で始まり、終了します* 'ease-out' アニメーションは低速で終了します* 'step-start' アニメーションは最初のフレームで終了状態にジャンプし、終了まで続きます* 'step-end' アニメーションは開始状態のままで、最後のフレームで終了状態にジャンプします*/ // 以下はデフォルトの設定です let config = { サイズ: { 幅: '572rpx', 高さ: '572rpx' }, // ターンテーブルの幅と高さbgColors: ['#FFC53F', '#FFED97'], // ターンテーブル間隔の背景色は、複数の色の交互表示をサポートしますfontSize: 10, // テキスト サイズfontColor: '#C31A34', // テキストの色titleMarginTop: 12, // 最も外側のテキストの余白titleLength: 6 // 最も外側のテキストの番号iconWidth: 29.5, // アイコンの幅iconHeight: 29.5, // アイコンの高さiconAndTextPadding: 4, // 最も内側のテキストとアイコンの間の余白duration: 8000, // ターンテーブルの回転アニメーションdurationrate: 1.5, // 継続時間 s / 円の数で取得border: 'border: 10rpx solid #FEFAE4;', // ターンテーブルの境界ease: 'ease-out' // ターンテーブル アニメーション}; 要約するWeChatミニプログラム抽選コンポーネントに関するこの記事はこれで終わりです。WeChatミニプログラム抽選コンポーネントの関連コンテンツについては、123WORDPRESS.COMで過去の記事を検索するか、以下の関連記事を引き続き参照してください。今後も123WORDPRESS.COMを応援していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: JS配列インデックス検出におけるデータ型の問題の詳細な説明
この記事の例では、カスタムスクロールバーコンポーネントを実装するためのjsの具体的なコードを参考まで...
この記事の例では、カウントダウン機能を実装するためのVueの具体的なコードを参考までに共有しています...
この記事では、カードフリップ効果を実現するためのVueの具体的なコードを例として紹介します。具体的な...
1. 現在のホスト名を表示する [root@fangjian ~]# ホスト名ctl 静的ホスト名:...
目次1. サブクエリの定義2. サブクエリの分類1. スカラーサブクエリ: 2. MySQLサブクエ...
テキストシャドウテキストシャドウ: 水平オフセット 垂直オフセット ぼかし色互換性: IE10+ &...
コードをコピーコードは次のとおりです。 <span style="font-size...
目次背景制限の最適化最適化方法1. カバーインデックスを使用する2. サブクエリの最適化3. 遅延連...
目次VUEとはVueのコアプラグインVueルーターヴュークスアクシオス要素UI Vue フロントエン...
データベースアカウントのパスワード暗号化の詳細な説明と例データベースアカウントとパスワードはデータベ...
Nextcloud は、オープンソースで無料のプライベート クラウド ストレージ ネットワーク ディ...
1. mysql/mysql-server:latestイメージを使用してMySQLインスタンスを素...
目次1. JSONとは何か1.1 配列リテラル1.2 オブジェクトリテラル1.3 混合リテラル1.4...
この記事では、参考までに、centOSにmysql5.7をインストールする詳細な手順を紹介します。具...
アリババクラウドがサーバーを購入クラウドサーバーを購入し、サーバーバージョンとしてcentos 7....