WeChatミニプログラムがシームレスなスクロールを実現

WeChatミニプログラムがシームレスなスクロールを実現

この記事の例では、WeChatアプレットのシームレスなスクロールを実現するための具体的なコードを参考までに共有しています。具体的な内容は次のとおりです。

wxml

<view class="wrap-item" style='transform:translateX({{posLeft2}}px)'>
  <view class="messages-scroll firstScroll">
   <view class="{{index == 0?'yanse items':'items'}}" wx:for="{{zhuli}}" wx:key="index">
   <画像 wx:if="{{index == 0}}" src="../../images/xiangq_yonhu_icon_p.png"></画像>
   <画像 wx:if="{{index != 0}}" src="../../images/xiangq_yonhu_icon_n.png"></画像>
   <view>{{index}}{{item.ip}}{{item.str}}</view>
   </ビュー>
  </ビュー>

  <view class="messages-scroll secondScroll" style='transform:translateX({{marginLeft}}px)'>
   <view class="{{index == 0?'yanse items':'items'}}" wx:for="{{zhuli}}" wx:key="index">
   <画像 wx:if="{{index == 0}}" src="../../images/xiangq_yonhu_icon_p.png"></画像>
   <画像 wx:if="{{index != 0}}" src="../../images/xiangq_yonhu_icon_n.png"></画像>
   <view>{{item.ip}}{{item.str}}</view>
   </ビュー>
  </ビュー>
</ビュー>

JS

onShow(){
let windowWidth = wx.getSystemInfoSync().windowWidth; //画面の幅 wx.createSelectorQuery().select('.firstScroll').boundingClientRect(function (rect) {
  let txtLength = rect.width; //テキスト + アイコンの長さ console.log(txtLength)
  コンソール.log(矩形)
  // that.setData({
  // marginLeft: txtLength < windowWidth - that.data.marginLeft ? windowWidth - txtLength : that.data.marginLeft
  // })
  console.log(that.data.marginLeft)
  that.roll2(that, txtLength, windowWidth); //スクロールメソッドを呼び出す}).exec()
},

roll2: 関数 (that, txtLength, windowWidth) {
 var interval2 = setInterval(関数() {
 if (-that.data.posLeft2 < txtLength) {
 that.setData({
 posLeft2: that.data.posLeft2 - that.data.pace
 })
 } else { // 2番目の段落は左にスクロールし、その後再びスクロールします that.setData({
 左位置2: 0
 })
 間隔をクリアします(間隔2);
 that.roll2(that、txtLength、windowWidth);
 }
 }, 20)
},

色:

.wrap-item{
位置: 相対的;
zインデックス: 10;
ディスプレイ: フレックス;
空白: ラップなし;
}

.ブランド情報 .メッセージスクロール {
ディスプレイ: フレックス;
空白: ラップなし;

上マージン: 148rpx;
}

.brand-info .messages-scroll .items {
ディスプレイ: フレックス;
空白: ラップなし;
ボックスのサイズ: 境界線ボックス;
パディング: 0 10rpx;
左マージン: 10rpx;
アイテムの位置を中央揃えにします。
/* 幅: 332rpx; */
高さ: 50rpx;
背景: rgba(0, 0, 0, 0.2);
境界線の半径: 25rpx;
色: #99A4BA;
}

.yanse{
色: #C4FFFD !重要;
}

.brand-info .messages-scroll .items 画像 {
幅: 26rpx;
高さ: 22rpx;
右マージン: 10rpx;
}

.brand-info .messages-scroll .items ビュー {
フォントサイズ: 24rpx;
フォントファミリー: Source Han Sans CN;
フォントの太さ: 400;
}

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • WeChatアプレットはシンプルな計算機を実装する
  • WeChatアプレット+mqtt、esp8266温度と湿度の読み取り実装方法
  • WeChat アプレットのカスタム スクロール ビューのサンプル コード
  • 回転灯効果を実現するWeChatアプレットの例
  • マインスイーパゲームを記録するプロセス全体を実現するC言語
  • Java のシンプルなゲーム制作コード
  • js でパズルゲームを実装する
  • C# でシンプルなフライングチェスゲームを実装する
  • Linux 上で C 言語でスネーク ゲームを実装する
  • CocosCreatorでWeChatゲームを作成する方法

<<:  Linuxカーネルのアクセス制御セキュリティを強化する方法

>>:  MySQLで全角文字と半角文字を保存する場合の違い

推薦する

JavaScript 遅延読み込みの詳細な説明

目次遅延読み込みCSS スタイル: HTML部分:スクリプト部分:要約する遅延読み込み名前の通り、私...

さまざまな種類のMySQLインデックス

インデックスとは何ですか?インデックスは、データベース ストレージ エンジンが指定されたデータをすば...

clearfixとclearの例

この記事では、CSS を理解し始めたばかりの人を対象に、主に HTML で clearfix と c...

Vue でバイナリ ファイル ストリームを受信して​​ PDF プレビューを実現する方法

バックグラウンド コントローラー @RequestMapping("/getPDFStre...

デスクトップ仮想化を実現するために Hyper-V を展開する手順 (グラフィック チュートリアル)

Hyper-V を展開するためのハードウェア要件は次のとおりです。 64 ビット プロセッサ、具体...

h5入力ボックスプロンプト+通常のテキストボックスプロンプトを実装する方法

XML/HTML コードコンテンツをクリップボードにコピー<入力 id = "ユーザ...

MySQL クエリの最適化: クエリが遅い原因と解決策

開発に携わっている友人、特に MySQL に関係のある友人は、非常に遅い MySQL クエリに遭遇す...

MySQL で二重引用符の位置が誤っていたために起きた殺人事件の詳細な分析

1. はじめに最近、開発者が誤ってデータを削除したり更新したりするケースがよくあります。今回もまた問...

CSS のサイズと幅と高さのブラウザ解釈の違いに対する解決策

まずは例を見てみましょうコードをコピーコードは次のとおりです。 <!DOCTYPE html ...

MySQL テーブルをコピーする 3 つの方法 (要約)

テーブル構造とそのデータをコピーする次のステートメントは、データを新しいテーブルにコピーします。注:...

DockerコンテナでArthasを使用するための詳細な手順

Arthas はあなたのために何ができるでしょうか? Arthas 、開発者に深く愛されている Al...

Dockerイメージ作成の完全なプロセス

目次序文作成手順CentOSベースイメージを作成するコンテナを作成してカスタマイズするカスタムコンテ...

Node はあいまい検索用の検索ボックスを実装します

この記事の例では、検索ボックスでファジークエリを実装するためのNodeの具体的なコードを参考までに共...

Windows10でmysql8.0.17を置き換える詳細なチュートリアル

この記事では、Windows10でmysql8.0.17を置き換える具体的な手順を参考までに紹介しま...

Vueにおけるキーの役割と原理の詳細な説明

目次1. 結論から始めましょう2. キーの役割2.1 例2.2 上記の例を修正する2.3 例を再度修...