Vueはマーキースタイルのテキストの水平スクロールを実装します

Vueはマーキースタイルのテキストの水平スクロールを実装します

この記事では、マーキースタイルのテキストの水平スクロールを実現するためのVueの具体的なコードを参考までに共有します。具体的な内容は次のとおりです。

必要:

Vueプロジェクトの先頭で、テキストを左右にスクロールさせる

ステップ:

1. コンポーネントを自分でカプセル化したり、自分で書いたり、次のコードをコピーしたりすることができます。
2. カプセル化が完了したら、必要なコンポーネントに導入、登録、使用する必要があります。

コード:

マーキー効果を実現するために特別に使用されるマーキーコンポーネントをカプセル化する

<テンプレート>
<!-- マーキー コンポーネント -->
  <div class="marquee-wrap" ref="marquee-wrap">
    <div class="scroll" ref="scroll">
      <p class="marquee">{{text}}</p>
      <p class="コピー" ref="コピー"></p>
    </div>
    <p class="getWidth" ref="getWidth">{{text}}</p>
  </div>
</テンプレート>

<スクリプト>
エクスポートデフォルト{
  名前: 'マーキー'、
  プロパティ: ['val'],
  データ () {
    戻る {
      タイマー: null、
      文章: ''
    }
  },
  作成された(){
    タイマーをsetTimeout(() => {
      this.move()
      タイムアウトをクリア(タイマー)
    }, 1000)
  },
  マウントされた(){
    for (let 項目の this.val) {
    this.text += アイテム
    }
  },
  メソッド: {
    動く () {
    maxWidth = this.$refs['marquee-wrap'].clientWidth とします。
    width = this.$refs['getWidth'].scrollWidthとします。
      if (幅 <= 最大幅) 戻り値
    scroll = this.$refs['scroll']とします。
    copy = this.$refs['copy'] とします。
      copy.innerText = this.text
      距離を0とする 
      this.timer = setInterval(() => {
        距離 -= 1
        if (-距離 >= 幅) {
          距離 = 16
        }
        scroll.style.transform = 'translateX(' + distance + 'px)'
      }, 20)
    }
  },
  破棄前() {
    クリア間隔(this.timer)
  }
}
</スクリプト>

<スタイルスコープ>
  .marquee-wrap {
    幅: 100%;
    オーバーフロー: 非表示;
    位置: 相対的;
  }
  .マーキー{
    右マージン: 0.16rem;
  }
  p {
    単語区切り:すべて保持;
    空白: ラップなし;
    フォントサイズ: 0.28rem;
  }
  .スクロール{
    ディスプレイ: フレックス;
  }
  .getWidth{
    単語区切り:すべて保持;
    空白:折り返しなし;
    位置: 絶対;
    不透明度: 0;
    上: 0;
  }
</スタイル>

どのコンポーネントが使用されているか、インポート

// マーキー コンポーネントをインポートします。import marquee from "@/components/marquee/marquee.vue";

引用と登録

エクスポートデフォルト{
  コンポーネント:
  // マーキーコンポーネントを登録します。
  },
 }

登録が完了したら、次のステップはHTMLスタイルです。テンプレートテンプレートでこのコンポーネントを使用します

<マーキークラス="realData">
          <ul class="fa-scroll-cont">
            <li v-for="realData 内のアイテム" :key="item.name">
              <span class="roll-text">{{ item.city }}</span>
            </li>
          </ul>
</マーキー>

次に効果図を示します。

効果をより明確にするために、さらに数枚写真を撮りました。

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

以下もご興味があるかもしれません:
  • Vue ベースのテキスト マーキー コンポーネント (npm コンポーネント パッケージ)
  • Vueはシンプルなマーキー効果を実装します
  • Vue はシームレスなカルーセル効果 (マーキー) を実現します
  • Vueはマーキー効果を実装します
  • Vueはランニングライトのシンプルな効果を実現
  • タイマーを使用してマーキー効果を実現する Vue サンプルコード
  • Vueはシンプルなマーキーを実装する
  • マーキー効果を実現するためのJsとVUE
  • Vueはシンプルなマーキー効果を実装します
  • Vueマーキーコンポーネントの使い方の詳細な説明

<<:  Spring Boot のパッケージ化と Docker リポジトリへのアップロードの詳細な手順

>>:  CSS スタイルを変更してグレーの Web ページ (色なし、明るい白黒のみ) を実現するいくつかの方法

推薦する

Linux tac コマンドの実装例

1. コマンドの紹介tac (cat の逆順) コマンドは、ファイルの内容を行単位で逆順に出力します...

CSSブロッキングマージとその他の効果についての簡単な説明

非直交マージンマージンを使用するとマージが発生します次のプロパティはマージンの結合を防止します。国境...

MySQL の NULL 値に関する体験談と分析チュートリアルシリーズ

目次1. テストデータ2. ヌル値による不便3. スペース、空の値、null をどのように判断すれば...

Vue Nativeを使用したモバイルアプリケーションの構築プロセスの完全な記録

目次序文Vue Nativeの機能宣言的レンダリング双方向バインディングVue.js エコシステムの...

JavaScript parseInt() と Number() の違いのケーススタディ

学習目標: parseInt() と Number() という 2 つの関数は、文字列をデータ型に変...

mysql 8.0.18.zip のインストールと構成方法のグラフィック チュートリアル (Windows 64 ビット)

以前にインストールされたバージョンのデータベースをアンインストールする方法については、この記事を参照...

sed コマンドを使用してファイルの特定の行を効率的に削除する方法

序文通常、ファイル内の特定の行を削除したい場合は、まずファイルを開き、削除する内容を見つけて、これら...

jsは前のページに戻り、コードを更新します

1. Javascript は前のページ history.go(-1) に戻り、2 つのページを返し...

ウェブページの読み込み速度を上げる25の方法とヒント

はじめに<br />誰もが高速インターネット接続にアクセスできるわけではありません。たと...

nginx で仮想ホストを構成するための詳細な手順

仮想ホストは、インターネット上で実行されているサーバー ホストを複数の「仮想」ホストに分割する特殊な...

MySQL 5.7.27 のインストールと設定方法のグラフィックチュートリアル

MySQL 5.7.27のインストールチュートリアルは以下のように記録され、皆さんと共有されています...

Vue エクスポート Excel 機能の全プロセス記録

目次1. フロントエンドのリーディングプロセス: 2. プラグインの使用と初期化2.1 vue-ad...

個人的な意見: デザインについて語る

<br />最も実用的なものを選んで話しましょう。まず、勤務先の都市を慎重に選ぶ必要があ...

ページ内のリストプルダウン効果を実現するための純粋なCSS

次のような効果がよく見られます。 そうです、ページ上でよく使われる「展開と折りたたみ」のインタラクシ...

CSS の border 属性と display 属性の使い方の簡単な分析

境界プロパティの概要borderプロパティは要素の境界を設定します。境界線の3要素は、太さ、線の種類...