この記事では、主に既存のコンポーネント(WeChatアプレットのスワイパーやh5でよく使われるswiper.jsなど)をベースにスライダースタイルのインジケーターパネルを実装する方法を紹介します。デモはミニプログラムに基づいていますが、ロジックは普遍的です。 背景最近、新しいミニプログラムに取り組んでいます。ホームページにスワイパーモジュールがあります。デザインクラスメイトの素晴らしい仕事のおかげで😭、退屈な開発に喜びを見出すことができました。スワイパーのインジケーターパネルのドットがスライダーに変更されました。正直、ドットを一列に並べてクリックするだけでいいんじゃないでしょうか?ハハハハ。でも私は彼が大好きよ〜 ターゲット効果全体的にシンプルです。主に下部のスライダーに若干の作業が必要です。要件を整理した後、実装する必要がある機能ポイントは次のとおりです。
アイデア整理後の実施計画は次のようになります。
成し遂げるスワイパーは変更を聞きますまず、スワイパーの変更イベントを使用する必要があります。コードは次のとおりです。 <スワイパー クラス="ホットコンテンツスワイパー" インジケータードット="{{indicatorDots}}" vertical="{{vertical}}" バインドチェンジ="スライダーハンドラー"> <block wx:for="{{popular_zone_list}}" wx:key="*this"> <スワイパーアイテム> <view class="hot-list"> これはスワイパー{{index}}です </ビュー> </スワイパーアイテム> </ブロック> </スワイパー> カスタムドットモジュール次に、スライダー領域であるドットの DOM をカスタマイズする必要があります。コードは次のとおりです。 <ビュークラス="dot"> <view class="dot-bar" style="width: {{dotBarWidth}}rpx"></view> </ビュー> これには、スライダーに初期サイズを指定する必要があります。そうしないと、スライド後の幅の変化にジッター (dotBarWidth) が発生します。 スライダーのサイズは、スライドの長さとスワイパー項目の数に基づいて計算されます。この方法で幅を取得したら、スライダー幅の倍数でオフセットするだけです。 ドット幅を100とします。 dotBarWidth = Math.round(dotWidth/popular_zone_list.length); とします。 変更イベントのロジックテンプレートが記述されたので、変更イベントの記述を始めましょう。コードは次のとおりです。 スライダーハンドラ({詳細}) { curPage = detail.current; とします。 自分自身 = this とします。 this.animate('.dot-bar', [ { translateX: self.prePage * 100 + '%', 変換元: 'center'、 }, { translateX: curPage*100 + '%', 変換元: 'center'、 }, ], 100, function () { // アニメーションコールバック self.prePage = curPage; self.clearAnimation('.container', { translateX: 真、 変換元: true }); }); }, // ミニプログラムでない場合は、this.animate を動的にバインドされたスタイルまたはその他の DOM 操作に置き換えることができます。 この機能が実装された今、この機能は非常にシンプルでかなり優れていると思いませんか?😒 最後に正直に言うと、実装の過程で、当時の私の状態と関係があるかもしれないが、いくつか愚かなことをしてしまった。スライダーが左にスライドされたのか、右にスライドされたのかを判断することに集中しすぎて、遠回りをしてしまったのだ。しかし、結果に基づいて、開始位置と終了位置を計算するだけでよく、左スワイプの開始位置は終了位置よりも大きくする必要があることがわかりました。上記のスキームが参考になれば幸いです〜🎉 WeChatミニプログラムのスワイパードットのドットをスライダーに変更する方法についての記事はこれで終わりです。WeChatミニプログラムのスワイパードットのドットをスライダーに変更する方法に関するより関連性の高いコンテンツについては、123WORDPRESS.COMで以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後も123WORDPRESS.COMを応援していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: Mysql SSHトンネル接続を使用するための基本的な手順
背景画像でも、ページ上のテキストサイズでも、1 ピクセルの違いは非常に明白です。そして、私は学生時代...
等高レイアウト同じ親コンテナー内の同じ高さの子要素のレイアウトを指します。等高レイアウトの実装の観点...
CSS Sprite は、CSS スプライトとも呼ばれ、画像結合技術です。この方法は、複数の小さなア...
この記事では、ディスクを追加または拡張して、Vmare で有効にする方法について説明します。シナリオ...
目次製品要件アイデア問題ライブラリ選択をドラッグコンポーネントを生成する方法コンポーネントを生成する...
この記事は、CentOS 7の詳細なインストールチュートリアルを参考のために記録します。具体的な内容...
なぜこれを使ったのか?それはポスターを作ることから始まりました。それは嵐の夜でした。 。 。さて、無...
最近、ポーターを学んでいます。こんなに強力なものがあったなんて、今まで知らなかった気がします。クラス...
ほとんどの人はMySQLをコンパイルしてシステムディレクトリに置きますが、私のやり方はコンパイルした...
VMware Workstation を使用して Windows 10 で仮想マシンを開くと、VMw...
ローカルでコンテナを作成した後、このコンテナに基づいてローカル イメージを作成し、このイメージを D...
目次質問伸ばす問題を解決する要約する質問プロジェクトの要件に従って、以下の州地図で個々の都市を(異な...
最近、個人の Web サイトに非常にシンプルなカラー スキーム (テーマ) スイッチャーを追加しまし...
この記事では、WeChatアプレットの計算機機能を実装するための具体的なコードを参考までに紹介します...
目次I. 概要2. 従来の多段階イメージ構築3. Buildkitを使用してイメージをビルドする4....