ミニプログラムの「5 つ星評価」機能の実装方法に関する簡単な説明 (クリック + スライドをサポート)
この記事では、ミニプログラムの「五つ星評価」機能の実装方法を紹介し、クリックスコアリングやスライドスコアリングの実装をサポートします。
#1. 完了した要件:
- 半星評価のサポート
- クリック評価
- スライド式評価
#ページ レイアウト
/*wxss 一行内展示五颗星并设置其间距为30rpx*/ .scoreContent {display: inline-block;} .starLen {margin-right: 30rpx;display: inline-block;} .scoreContent .starLen:last-child {margin-right: 0;} .star {width: 80rpx;height: 80rpx;vertical-align: text-bottom;display: inline-block;}
ログイン後にコピー上記のレンダリングで重要なのは、三眼動作でどのようなアイコンを表示するかです。インデックスはscoreArrayの要素の添字です。各項目の添字インデックスとスコアを比較する必要があります。ルールは次のとおりです:/*wxml 每个starLen元素上绑定 touchMove touchEnd tap事件*/ <view class="scoreContent" id="scoreContent"> <block wx:for='{{5}}' wx:key='item'> <!-- 遍历评分列表 --> <view class='starLen' catchtouchmove='changeScore' catchtouchend="changeScoreEnd" catchtap='setScore' data-index="{{index}}"> <!-- 使用三目运算符来动态变化显示的是哪张图片,score是js中的分数,index是scoreArray的下标 --> <image class='star' src="{{score>index?(score>index+0.5?fullStarUrl:halfStarUrl):nullStarUrl}}" /> </view> </block> </view>
ログイン後にコピー//取 score与index下标做比较,默认score为0 score<index 展示nullStar.png score>index+0.5 展示fullStar.png index<score<=index+0.5 展示halfStar.png
ログイン後にコピー
データのデフォルト値
- コンポーネントの読み込み、データの初期化
/** * 组件的初始数据 */ data: { fullStarUrl: '/images/full.png', //满星图片 halfStarUrl: '/images/half.png', //半星图片 nullStarUrl: '/images/null.png', //空星图片 score: 0, //评价分数 rate: 2, //设计稿宽度÷屏幕实际宽度 startX: 0, //第一颗星screenX的距离 },
ログイン後にコピー
//设定比率rate与第一颗星screenX 组件初始化attached 或者 页面初始化onShow attached: function () { // 在组件实例进入页面节点树时执行 let { screenWidth } = wx.getSystemInfoSync(); let rate = screenWidth / 750; this.setData({ rate: rate }) const query = this.createSelectorQuery(); query.select('#scoreContent').boundingClientRect((res)=> { this.setData({ startX: res.left }) }).exec() },
1 回クリックすると星が半分になり、2 回クリックすると星が 1 つになります;例: クリックは 4 番目です。星 (index="3 ")、最初の 3 つの星は満点の星で埋められ、現在クリックされている星は半分の星と満点の星の切り替え表示です。
setScore(e) { //e.currentTarget.dataset.index 为当前的item的下标 let score = e.currentTarget.dataset.index + 1;//实际的score if (score - this.data.score == 0.5) {//当前半星与整星的切换 this.setData({ score: score }) } else {//点击其他星设置的分数 this.setData({ score: score - 0.5 }) } },
ログイン後にコピースライド式評価 (重要な部分)
changeScore: function (e) { let score = 0; let restLen = 0; //(当前触摸点距初始点距离)-整数倍*(星星宽+星星之间间距)的剩余距离 let intMult = 0; //取余后的整星数量 var touchX = e.touches[0].pageX; //获取当前触摸点X坐标 var starMinX = this.data.startX; //最左边第一颗星的X坐标 var starWidth = 80 * this.data.rate; //星星图标的宽度,假设80(已在wxss文件中设置".star") var starLen = 30 * this.data.rate; //星星之间的距离假设为30(已在wxss文件中设置".starLen") var starMaxX = starMinX + starWidth * 5 + starLen * 4; //最右侧星星最右侧的X坐标,需要加上5个星星的宽度和4个星星间距 if (touchX >= starMinX && touchX <= starMaxX) { //点击及触摸的初始位置在星星所在空间之内 //使用Math.ceil()方法取得当前触摸位置X坐标相对于(星星+星星间距)之比的整数,确定当前点击的是第几个星星 intMult = Math.floor((touchX - starMinX) / (starWidth + starLen)); restLen = (touchX - starMinX) - intMult * (starWidth + starLen); if (0 <= restLen && restLen < 0.5 * starWidth) { //空星 score = intMult } else if (0.5 * starWidth <= restLen && restLen < starWidth) { //显示半星 score = intMult + 0.5 } else if (starWidth <= restLen) { //显示整星 score = intMult + 1; } if (score != this.data.score) { //如果当前得分不等于刚设置的值,才赋值,因为touchmove方法刷新率很高,这样做可以节省点资源 this.setData({ score: score, }) } } else if (touchX < starMinX) { //如果点击或触摸位置在第一颗星星左边,则恢复默认值,否则第一颗星星会一直存在 this.setData({ score: 0, }) } else if (touchX > starMaxX) { this.setData({ score: 5, }) } },
ログイン後にコピー-
プログラミング関連の知識については、
プログラミング ビデオ をご覧ください。 !
以上がミニプログラムの「5 つ星評価」機能の実装方法に関する簡単な説明 (クリック + スライドをサポート)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









モバイル インターネット技術とスマートフォンの普及により、WeChat は人々の生活に欠かせないアプリケーションになりました。 WeChat ミニ プログラムを使用すると、アプリケーションをダウンロードしてインストールすることなく、ミニ プログラムを直接使用して、いくつかの簡単なニーズを解決できます。この記事では、Python を使用して WeChat アプレットを開発する方法を紹介します。 1. 準備 Python を使用して WeChat アプレットを開発する前に、関連する Python ライブラリをインストールする必要があります。ここでは、wxpy と itchat の 2 つのライブラリを使用することをお勧めします。 wxpy は WeChat マシンです

ミニプログラムはreactを利用することができます 使い方: 1. 「react-reconciler」に基づいてレンダラーを実装し、DSLを生成します; 2. DSLを解析してレンダリングするためのミニプログラムコンポーネントを作成します; 3. npmをインストールし、開発者ビルドを実行しますツール内の npm; 4. パッケージを独自のページに導入し、API を使用して開発を完了します。

WeChat ミニ プログラムでのカードめくり効果の実装 WeChat ミニ プログラムでは、カードめくり効果の実装は、ユーザー エクスペリエンスとインターフェイス インタラクションの魅力を向上させることができる一般的なアニメーション効果です。以下では、WeChat アプレットでカードめくりの特殊効果を実装する方法と、関連するコード例を詳しく紹介します。まず、ミニ プログラムのページ レイアウト ファイルに 2 つのカード要素を定義する必要があります。1 つは前面のコンテンツを表示するため、もう 1 つは背面のコンテンツを表示するためです。具体的なサンプル コードは次のとおりです: <!--index.wxml- ->&l

10月31日の当サイトのニュースによると、今年5月27日、アント・グループは「漢字拾いプロジェクト」の立ち上げを発表し、最近新たな進展を迎えた:アリペイが「漢字拾い-珍しい文字」ミニプログラムを開始協会からコレクションを収集する レア文字は、レア文字ライブラリを補完し、アリペイでのレア文字入力方法の改善に役立つように、レア文字に異なる入力エクスペリエンスを提供します。現在、ユーザーは「漢字ピックアップ」「珍文字」などのキーワードで検索することで「珍文字」アプレットに入ることができる。ミニプログラムでは、ユーザーがシステムで認識・入力されなかった珍しい文字の画像を送信し、確認後、Alipay のエンジニアがフォントライブラリに追加エントリを作成します。当サイトでは、発音が不明瞭な珍しい単語を対象とした最新の単語分割入力方法をミニプログラムで体験できることに注目しました。ユーザー解体

uniapp がミニ プログラムと H5 の間で迅速な変換を実現するには、具体的なコード例が必要ですが、近年、モバイル インターネットの発展とスマートフォンの普及に伴い、ミニ プログラムと H5 は不可欠なアプリケーション形式となっています。クロスプラットフォーム開発フレームワークとして、uniapp は一連のコードに基づいて小規模プログラムと H5 間の変換を迅速に実現し、開発効率を大幅に向上させます。この記事では、uniapp がミニ プログラムと H5 の間で迅速な変換を実現する方法と、具体的なコード例を紹介します。 1. uniapp uniaの紹介

実装アイデア: チャット ルームのさまざまな機能を処理するために、スレッドのサーバー側を確立します。x02 クライアントの確立はサーバーよりもはるかに簡単です。クライアントの機能はメッセージの送受信と、特定の文字を特定の規則に従って入力するため、クライアント側では、メッセージ受信専用とメッセージ送信専用の 2 つのスレッドを使用するだけで、さまざまな機能を使用できます。使用しないでください。

ミニ プログラムの登録操作手順: 1. 個人 ID カード、法人営業許可証、法人 ID カードおよびその他の提出資料のコピーを準備します; 2. ミニ プログラム管理のバックグラウンドにログインします; 3. ミニ プログラム設定ページに入ります; 4. 「基本設定」を選択; 5. 出願情報を入力; 6. 出願資料をアップロード; 7. 出願申請を送信; 8. 審査結果を待ちます。出願が不合格の場合は、理由に応じて修正してください9. 出願のフォローアップ操作は可能です。

1. WeChat ミニ プログラムを開き、対応するミニ プログラム ページに入ります。 2. ミニ プログラム ページでメンバー関連の入り口を見つけます。通常、メンバーの入り口は下部のナビゲーション バーまたはパーソナル センターにあります。 3. メンバーシップポータルをクリックして、メンバーシップ申請ページに入ります。 4. 入会申込ページにて、携帯電話番号、氏名等の必要事項をご入力の上、送信してください。 5. ミニ プログラムは会員申請を審査します。審査に合格すると、ユーザーは WeChat ミニ プログラムの会員になることができます。 6. 会員になると、ユーザーはポイント、クーポン、会員限定アクティビティなど、より多くの会員権を享受できます。
