Vue でシンプルな無限ループスクロールアニメーションを実装する例

Vue でシンプルな無限ループスクロールアニメーションを実装する例

この記事では主に、Vue でシンプルな無限ループスクロールアニメーションを実装し、みんなで共有する例を紹介します。詳細は次のとおりです。

まず実装効果を見てみましょう:

このようなカルーセルのような効果は通常、カルーセル ソリューションを使用して解決できますが、ここで紹介するソリューションと比較すると、カルーセルの実装は依然として複雑です。
Vue はトランジション アニメーション transition-group を提供しており、ここで使用している効果はこれです。

// テンプレート
<トランジショングループ名="リスト完了" タグ="div">
 <div
  v-for="項目内のv"
  :key="v.ix"
  class="item list-complete-item プロパネル"
  :style="{ 高さ: sh }"
 >
  //コンテンツ部分</div>
</トランジショングループ>

// SCSS で
.リスト完了項目 {
 遷移: すべて 1;
}
.list-complete-leave-to {
 不透明度: 0;
 変換: translateY(-80px);
}
.list-complete-leave-active {
 位置: 絶対;
}

このようにアニメーション効果は出ますが、自動では実行できないのでsetIntervalを使います。

マウント() {
 カウントを4000にする
 if (!this.timer) {
  this.timer = setInterval(() => {
   (this.items.length > 1)の場合{
    this.remove()
    this.$nextTick().then(() => {
     これを追加します()
    })
   }
  }, カウント)
 }
},
メソッド: {
 追加: 関数() {
  if (this.items && this.items.length) {
   const 項目 = { ...this.removeitem[0] }
   アイテム.ix = this.nextNum++
   this.items.push(アイテム)
  }
 },
 削除: 関数() {
  this.removeitem = this.items.splice(0, 1)
 }
}

たとえば、効果を達成するのが簡単になります。ちなみに、ここで実現した効果は、ニュースのスクロールと同じように 1 行スクロールなので、ビュー ウィンドウには 1 つのデータしか表示されません。このように制限しない場合は、リスト全体を表示できますが、そのたびに 1 つのデータだけが消えます。

PS: この方法は画像の動的レンダリングに使用できます

<画像
 :src="require(`@/assets/imgs/icons/${somevar}.png`)"
>

もちろん、異なる意見がある場合は、メッセージを残してコミュニケーションをとってください!

これで、Vue でシンプルな無限ループスクロールアニメーションを実装する例についての記事は終了です。Vue 無限スクロールアニメーションの関連コンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Vue.js で v-for ループを使用して動的タグを生成する方法
  • Vue v-for ループを書く 7 つの方法
  • vue v-for ループ オブジェクトの属性
  • Vue ベースの円形スクロールリスト機能を実装する
  • Vue のループフォーム項目例の詳細な説明
  • この記事では、vue.jsのイベントループの仕組みを紹介します。

<<:  vuex ベースのショッピングカート機能の実装

>>:  Vuexはシンプルなショッピングカートを実装します

推薦する

ウェブページの画像最適化ツールと使用方法のヒントの共有

ウェブページの基本要素として、画像はページの読み込み速度に影響を与える重要な要素の 1 つです。画像...

UniappはBaidu Voiceを使用して録音をテキストに変換する機能を実現

3日間さまざまな困難に遭遇した後、ようやくこの機能を実現しました。正常に実装できる方法を見つける前に...

MySQLの構文、特殊記号、正規表現の詳細な説明

Mysql でよく使用される表示コマンド1. 現在のデータベース サーバー内のデータベースの一覧を表...

dockerでsshd操作を有効にする

まず、docker に openssh-server をインストールします。インストールが完了したら...

Vue 手書き読み込みアニメーション プロジェクト

ページが応答しない場合、白い画面が表示されないように、読み込みアニメーションを表示するのがユーザーフ...

Linux ファイルシステムの説明: ext4 以降

今日は、ext3 や他の以前のファイル システムとの違いを含め、ext4 の歴史について説明します。...

MySql8 WITH RECURSIVE 再帰クエリ親子コレクションメソッド

背景コメントに似た機能を開発する場合は、必要に応じてすべてのコメントのサブセットをクエリする必要があ...

MySQLでconcat関数を使用する方法

以下のように表示されます。 //managefee_managefee テーブルの年と月を照会し、c...

MySQL テーブル全体の暗号化ソリューション keyring_file の詳細な説明

例示するMySql Community Edition は、5.7.11 以降、テーブルベースのデー...

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

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

WeChat アプレットカスタムタブバーステップ記録

目次1. はじめに2. タブバーのスタイルをカスタマイズする3. カスタムタブバーと関連設定を導入す...

Linux 基本チュートリアル: 特別な権限 SUID、SGID、SBIT

序文Linux のファイルまたはディレクトリの権限については、共通の rwx 権限を知っておく必要が...

VirtualBox仮想マシンがNATモードで外部ネットワークに接続できない問題の解決策

背景VirtualBox 仮想マシン (Ubuntu 16.04 システムがロードされている) には...

Linux でネットワーク パケット損失と遅延をシミュレートする方法

netem と tc: netem は、Linux カーネル バージョン 2.6 以降で提供されるネ...

シンプルなHTMLとCSSの使い方の詳細な説明

HTML と CSS を含む JD.com のホームページの静的ページ効果を 3 日間で完成させます...