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配列インデックス検出におけるデータ型の問題の詳細な説明
nginx をコンパイルしてインストールし、一定期間使用した後、現在のバージョンに脆弱性があることや...
Java を使用してシステム時間を取得し、それを MySQL データベースに保存した後、時間タイプが...
目次1. ファイルとディレクトリの基本的な保存2. Inコマンドの紹介(1)lnコマンドの基本情報を...
検索パフォーマンスは最速から最遅まで次のとおりです (私が聞いたところによると)。 1 番目: ti...
この記事の例では、カスタムスクロールバーを実装するためのjsの具体的なコードを参考までに共有していま...
この記事の例では、テーブルドラッグオプションを実装するためのjsの具体的なコードを参考までに共有して...
序文: Jenkins のマスター スレーブ分散アーキテクチャは、主に、Jenkins に単一ポイン...
導入MySQL InnoDB エンジンがレコードをクエリし、インデックス カバレッジを使用できない場...
一般的なアプリケーションシナリオ現在のアプリのインターフェースは基本的に同じであり、グリッドレイアウ...
では、ドメイン名を登録して仮想ホストを購入した後、IE でドメイン名を入力して Web サイトを開く...
では早速、コードをお見せしましょう。具体的なコードは次のとおりです。 #!/bin/bash cd ...
目次序文1. カスタムフォーカスコマンド1. 方法1 2. 方法2 3. 方法3 2. 入力ボックス...
1. 参照整合性参照整合性とは、主に外部キー制約を使用した複数のテーブル間の設計を指します。複数テ...
背景:サイトはフロントエンドとバックエンドから分離されています: vue+springbootフロン...
序文このプロジェクトには、衛星測位用のグラフィックスを含むチャートの要件があり、北半球または南半球の...