WeChatアプレットがテキストスクロールを実装

WeChatアプレットがテキストスクロールを実装

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

wxml:

<view>表示後、再度表示します:</view>
<view class="example">
 <ビュークラス="ボックス">
 <view class="text" style="{{orientation}}:{{marqueeDistance}}px;フォントサイズ: {{size}}px;">
  {{文章}}
 </ビュー>
 </ビュー>
</ビュー>
<view>白い枠線が表示されたら、次のように表示されます:</view>
<view class="example">
 <ビュークラス="ボックス">
 <view class="text" style="{{orientation}}:{{marqueeDistance2}}px;フォントサイズ: {{size}}px;">
  <テキスト>{{テキスト}}</テキスト>
  <text wx:if="{{marquee2copy_status}}" style="margin-left:{{marquee2_margin}}px;">{{text}}</text>
 </ビュー>
 </ビュー>
</ビュー>

色:

。例 {
 表示: ブロック;
 幅: 100%;
 高さ: 100rpx;
}

。箱 {
 幅: 100%;
 位置: 相対的;
}

。文章 {
 空白: ラップなし;
 位置: 絶対;
 上: 0;
}

js:

ページ({


 データ: {
 テキスト: 'スクロールテキスト 1234567890abcdefghijklmnopqrstuvmxyz',
 marqueePace: 1, //スクロール速度 marqueeDistance: 0, //初期スクロール距離 marqueeDistance2: 0,
 marquee2copy_status: 偽、
 マーキー2_マージン: 60,
 サイズ: 14,
 orientation: 'left', //スクロール方向 interval: 20 //時間間隔},
 onShow: 関数() {
 // ページ表示 var vm = this;
 var length = vm.data.text.length * vm.data.size; //テキストの長さ var windowWidth = wx.getSystemInfoSync().windowWidth; //画面の幅 vm.setData({
  長さ: 長さ、
  ウィンドウ幅: ウィンドウ幅、
  marquee2_margin: length < windowWidth ? windowWidth - length : vm.data.marquee2_margin //テキストの長さが画面の長さより短い場合は、パディングを追加する必要があります});
 vm.run1(); // 単語の水平行をスクロールした後、元の方向にスクロールします vm.run2(); // 最初の単語が消えて、すぐに右から表示されます },
 実行1: 関数() {
 var vm = this;
 var 間隔 = setInterval(関数() {
  (-vm.data.marqueeDistance < vm.data.length) の場合 {
  vm.setData({
   マーキー距離: vm.data.marqueeDistance - vm.data.marqueePace、
  });
  } それ以外 {
  clearInterval(間隔);
  vm.setData({
   マーキー距離: vm.data.windowWidth
  });
  vm.run1();
  }
 }, vm.data.interval);
 },
 実行2: 関数() {
 var vm = this;
 var 間隔 = setInterval(関数() {
  (-vm.data.marqueeDistance2 < vm.data.length) の場合 {
  // テキストがmarquee2_margin=30pxの白い端までスクロールしたら、vm.setData({
   マーキー距離2: vm.data.マーキー距離2 - vm.data.マーキーペース、
   marquee2copy_status: vm.data.length + vm.data.marqueeDistance2 <= vm.data.windowWidth + vm.data.marquee2_margin、
  });
  } それ以外 {
  if (-vm.data.marqueeDistance2 >= vm.data.marquee2_margin) { // 2番目のテキストが左端までスクロールするとvm.setData({
   marqueeDistance2: vm.data.marquee2_margin // 直接再ロール });
   clearInterval(間隔);
   vm.run2();
  } それ以外 {
   clearInterval(間隔);
   vm.setData({
   マーキー距離2: -vm.data.windowWidth
   });
   vm.run2();
  }
  }
 }, vm.data.interval);
 }


})

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

以下もご興味があるかもしれません:
  • WeChatアプレットのスクロールビューの非表示のスクロールバーの詳細な説明
  • WeChatアプレットのスクロールビューでスクロールの浸透を実装し、スクロールを防止する方法
  • WeChatアプレットのスクロールビューの水平スクロールの実際的な落とし穴とスクロールバーを非表示にする実装の詳細な説明
  • WeChatアプレット上部のスクロール可能なナビゲーション効果
  • WeChatアプレットのスクロールビューコンポーネントはスクロールアニメーションを実装します
  • WeChat アプレット - スクロールメッセージ通知のサンプルコード
  • WeChatアプレットのスクロールタブで左右のスライド切り替えを実現
  • WeChatアプレットが複数行テキストのスクロール効果を実現
  • WeChatアプレットは水平および垂直スクロールを実現
  • WeChatミニプログラムがシームレスなスクロールを実現

<<:  Windows Server 2012 でデスクトップ上の一般的なアイコンを表示または非表示にする方法

>>:  InnoDB エンジンのパフォーマンスを最適化するための my.cnf パラメータ構成

推薦する

lnmp を使用して MySQL データベースのルート パスワードをリセットする 2 つの方法

最初の方法: Junge のワンクリック スクリプトを使用して、LNMP 環境で MYSQL データ...

複数人チャットルームを実現する js コード

この記事の例では、多人数チャットルームを実装するためのjsコードの具体的なコードを参考までに共有して...

Mysql で自動増分主キー ID を更新するときに問題が発生しました

目次自動インクリメント ID を更新する理由は何ですか?質問解決方法これは私が知っている問題ですが、...

MySQLでTEXT/BLOB型を使用する際の注意点を詳しく説明します

1. TEXTとBLOBの違いTEXT ファミリと BLOB ファミリの唯一の違いは、BLOB 型は...

JavaScript クラス配列の詳細な理解

js 配列はどこでも使用されているため、おそらく誰もがよく知っているでしょうが、配列クラス (疑似配...

MySQL 整合性制約の例の詳細な説明

この記事では、MySQL の整合性制約について説明します。ご参考までに、詳細は以下の通りです。メイン...

マークアップ言語 - リスト再び

123WORDPRESS.COM HTML チュートリアル セクションに戻るには、ここをクリックして...

ByteDance インタビュー: JS を使用して Ajax 同時リクエスト制御を実装する方法

序文正直に言うと、最近とても混乱していると感じています。テクノロジーと人生について。また、将来の発展...

Vue ポーリング リクエスト ソリューションの完全な例

世論調査の理解実際、ポーリングの焦点はループ自体ではなく、実行間の間隔にあります。 Ajax は非同...

Nginx 転送ソケットポート設定の詳細な説明

Nginx によるソケット ポート転送の一般的なシナリオ: オンライン学習アプリケーションでは、通常...

Ubuntu 18.04 に Nvidia グラフィック カード ドライバーをインストールするチュートリアル (画像とテキスト付き)

0. 事前準備BIOS でセキュア ブートを無効にします。無効にしないと、サードパーティ ソースを...

Linux システムで Tomcat を自動的に起動するための設定方法の紹介

1. /etc/init.d ディレクトリに入ります: cd /etc/init.d 2. tomc...

JS配列ループ方式と効率分析の比較

配列メソッドJavaScript には多くの配列メソッドが用意されています。次の図は、ほとんどの配列...

MySQL の自動増分主キーに関する詳細な説明

目次特徴保存戦略自己増加の決定自動増分値の変更実行プロセス問題点自動増分ロックロック戦略バッチ挿入の...