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は、where in()順序ソートを実装するためにfind_in_set()関数を使用します。

この記事では、MySQL で find_in_set() 関数を使用して where in() の順...

CentOS に Nginx をインストールする方法

公式ドキュメント: https://nginx.org/en/linux_packages.html...

CentOS 8 に Docker をインストールする詳細なチュートリアル

1. 以前のバージョン yum 削除 docker docker-client docker-cli...

CSSレコードテキストアイコン配置のいくつかのソリューション

開発中に画像とテキストが 1 行に表示されることはよくあります。2 つのインライン要素を揃えるのは通...

ウェブページをデザインする際に注意すべきいくつかの問題

Web デザインは、個人の好みや Web ページの内容に応じて、デザインのレイアウトが常に変化します...

UnityはMySQLに接続し、テーブルデータの実装コードを読み取ります

表は以下のとおりです。 Unity が読み取って呼び出すときのコード: データベース内の別のテーブル...

MySQL でシンプルな検索エンジンを実装するためのサンプルコード

目次序文導入ngram全文パーサー全文インデックスを作成する検索方法1. 自然言語検索(自然言語モー...

Navicateを使用してAlibaba Cloud Server上のMySQLに接続する

1. まず、サーバーの mysql にアクセスして権限を変更します。 GRANT オプション付きで、...

MySQLデータベースがNULLを可能な限り避ける理由

MySQL の多くのテーブルには、NULL が列のデフォルト属性であるため、アプリケーションが NU...

2つのウェブサイトページ翻訳プラグインの共有

TranslateThis URL: http://translateth.is Google 翻訳...

node.js の require メソッドの読み込みルールの詳細な説明

require メソッドの読み込みルールキャッシュからの読み込みを優先するコアモジュールパス形式のモ...

Linux で Hadoop クラスターをインストールするための詳細な手順

目次1. usrディレクトリにHadoopディレクトリを作成し、インストールパッケージをそのディレク...

Vueは右上隅の時間表示のリアルタイム更新を実装します

この記事の例では、右上隅の時間表示のリアルタイム更新を実現するためのVueの具体的なコードを紹介しま...

入力ファイルのカスタムボタンの美化(デモ)

以前にも同じような記事を書いたことがありますが、js スクリプトを使用しており、ファイルパスを表示で...

ウェブデザインにおけるカラーマッチングの優れた例30選

本日は、色彩の応用に関する優れた事例を 30 件集めて、皆さんにご紹介したいと思います。これらの事例...