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で全角文字と半角文字を保存する場合の違い

推薦する

Docker Machineの詳細な説明

Docker と Docker Machine の違いDocker はクライアント サーバー アーキ...

XHTML におけるタイトルタグと段落タグの使用に関する詳細な説明

XHTML 見出しの概要Word 文書を作成するときは、「第 1 章」、「1.2.1」などのタイトル...

vite2.0 設定学習の詳しい説明(typescript 版)

導入悠宇希の原文です。 vite は Vue CLI に似ています。vite も、基本的なプロジェク...

Centos7 に PHP と Nginx をインストールする詳細なチュートリアル

Centos のサーバー側への適用がますます普及するにつれて、Centos7 もますます使用されるよ...

MySQLデータベースに中国語の文字を保存するときに発生するエラーを解決する方法を教えます

目次1. 遭遇した問題2. 問題を分析する3. 本当の問題4. 解決策5. ソリューション効果1. ...

CSS3で実装されたサムネイルホバー効果

成果を達成する実装コードhtml <ヘッダー> <h1><em>...

NodeはMySQLに接続し、追加、削除、変更、チェックのための実装コードをカプセル化します。

目次ノードはMysqlに接続しますMySQLモジュールをインストールするMySQLに接続するよく使わ...

Nginx の構成と HTTP 実装コード分析との互換性

OpenSSL を使用して SSL キーと CSR ファイルを生成するHTTPS を設定するには、秘...

Ubuntu 18.04で国内ソースを変更する方法の例

Ubuntu はソースが中国からなのでダウンロード速度が比較的遅いです。CentOS と異なり、yu...

ウェブデザインレイアウトの理解

<br />矛盾が生じます。私たちのような小さな工房では、デザインとレイアウトは基本的に...

Reactでのこのリファレンスの詳細な説明

目次原因:以下を実行します: 1. コンストラクター2.レンダリング機能3.bind関数とarrow...

Bootstrap 3.0 学習ノートボタンスタイル

この記事では主にボタンのスタイルについて説明します。 1. オプション2. サイズ3. 活動状況4....

WindowsでcmdからDOSウィンドウに入り、MySQLデータベースにアクセスします。

1. win + R を押して cmd と入力し、DOS ウィンドウに入ります。 2. MySQL...

MySQL の日付と時刻の加算と減算のサンプル コード

目次1.MySQLは時間間隔を加算または減算します2. 日付を減算する最近、MySQL を見直してい...

MySQLは挿入を使用して複数のレコードを挿入し、データを一括で追加します。

table1 に 5 つのレコードを挿入する場合、次のコードは誤りです。 テーブル1に(id,na...