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 ページ (色なし、明るい白黒のみ) を実現するいくつかの方法

推薦する

MySQL InnoDBエンジンのインデックスとストレージ構造の詳細な説明

序文Oracle や SQL Server などのデータベースには、ストレージ エンジンが 1 つだ...

Web インタビュー Vue カスタム コンポーネントと呼び出しメソッド

輸入:プロジェクトの要件により、同じコードの一部をコンポーネントにカプセル化し、必要な場所にインポー...

CSS3 天子グリッドリストのスタイルの書き方

多くのプロジェクトでは、中央に灰色の分割線があり、両側に分割線がないグリッド表示の機能を実装する必要...

スケーラブルな列の完全な例を実現するための Ant 設計 Vue テーブル

ant-design-vue テーブルのスケーラブルな列の問題に対する完璧なソリューション。固定列と...

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

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

JS は VUE コンポーネントに基づいて都市リスト効果を実装します

この記事の例では、VUEコンポーネントに基づいて都市リストエフェクトを実装するための具体的なコードを...

Centos 7.4 サーバーの時刻同期設定方法 [NTP サービスに基づく]

この記事では、CentOS 7.4 サーバーで時刻同期を構成する方法について説明します。ご参考までに...

MySQLの自動増分主キーIDはこのように処理されません

MySQLの自動増分主キーIDは段階的に増加しません1. はじめにMySQL データベースにデータを...

nginx の場所に複数の Proxy_pass メソッドがある

1. まず、nginxの位置情報に関する関連知識を確認しましょう1) 位置マッチング手順: ~ #波...

ウェブデザイン:大量の素材の正確な配置と使用

3回の暗記により、大量の資材の正確な場所と目的を記憶でき、その使いやすさが向上します。 これは単なる...

ネイティブjsはショッピングカートのロジックと機能を実装します

この記事の例では、ショッピングカートのロジックと機能を実装するためのjsの具体的なコードを共有してい...

6つのレイアウトでのFrameLayoutの使用

序文前回はLinearLayoutについて説明しました。今回はFrameLayoutの使い方を説明し...

冗長カーネルを削除するLinuxディープインの実装方法

前の記事では、deepin linux に新しいカーネルを手動でインストールする方法について説明しま...

iPhone デバイスの WAP ページでフォントサイズが大きい問題の解決策

JavaScriptコントロールを使用したくない場合は、次の方法を試してください。 Safariブラ...