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はシンプルなショッピングカートを実装します

推薦する

MySQLのパスワードを忘れた場合の対処方法

MySQL パスワードを忘れた場合の解決策: [root@localhost ~]# mysql -...

JS は複数のタブを切り替えるカルーセルを実装します

カルーセルアニメーションは、ページの外観とインタラクティブなパフォーマンスを向上させることができます...

JavaScriptのvar let constの違いは何ですか?

目次1. 繰り返し宣言1.1 変数1.2 しましょう1.3 定数2. 可変プロモーション2.1 変数...

VUEはトークンログイン認証を実装

この記事では、トークンログイン認証を実装するためのVUEの具体的なコードを例として紹介します。具体的...

JS配列重複排除の詳細

目次1 テストケース2 JS配列重複排除4種類2.1 要素の比較2.1.1 二重層 for ループ比...

JavaScriptオブジェクト指向について学ぼう

目次JavaScript プロトタイプチェーンオブジェクトプロトタイプトップレベルのプロトタイプOb...

ウェブページで任意のフォントを使用する実践的な操作とデモ

以前、「Web ページにシステムに組み込まれていないフォントを埋め込む」という研究をしたことがありま...

CSS の歪んだ影の実装コード

この記事では、CSS ワープ シャドウの実装コードを紹介し、皆さんと共有します。詳細は以下の通りです...

構造とプレゼンテーションの分離を理解するためのWeb標準の学習

Web 標準について議論するときに必ず話題になるのは、構造とプレゼンテーションを分離することの重要性...

Flask アプリケーションの Docker デプロイ実装手順

1. 目的Flask アプリケーションをローカルで作成し、Docker でパッケージ化し、独自のサー...

Centos7 での mysql 8.0.15 のインストールと設定

この記事では、参考までにMySQL 8.0.15のインストールと設定のグラフィックチュートリアルを紹...

Windows環境でのMySQL 8.0.13無料インストールバージョンの設定チュートリアル

目次圧縮ファイルをダウンロードするアドレス: https://dev.mysql.com/downl...

Dockerコンテナの中国語言語パックの設定の問題を解決する

Dockerでdocker search centosを使用する場合docker pull dock...

最新のmysql-5.7.21のインストールと設定方法

1. ダウンロードしたMySQLの圧縮パッケージをインストールディレクトリに解凍します。 2. 新し...

HTML テーブル マークアップ チュートリアル (16): タイトルの水平方向の配置属性 ALIGN

デフォルトでは、表のタイトルは水平方向に中央揃えされます。ALIGN 属性を使用して、タイトル テキ...