カルーセルアニメーションを実現するVueコンポーネント

カルーセルアニメーションを実現するVueコンポーネント

この記事では、カルーセルアニメーションを実現するためのVueコンポーネントの具体的なコードを例として紹介します。具体的な内容は次のとおりです。

ソースコードは以下のとおりです

<テンプレート>
  <div id="ラッパー">
    <トランジショングループ名="リスト" タグ="ul" モード="アウトイン">
      <li v-for="(item,index) in piclist" :key="item.url" :style="config[index]">
        <img :src="item.url">
      </li>
    </トランジショングループ>
    <a href="javascript:;" id="arrLeft" class="prev" @click="turnleft"></a>
    <a href="javascript:;" id="arrRight" class="next" @click="turnright"></a>
  </div>
</テンプレート>

js:

エクスポートデフォルト{
  データ() {
    戻る {
      写真リスト: [
        { url: require("../image/pic1.png") },
        { url: require("../image/pic2.png") },
        { url: require("../image/pic3.png") }
      ]、
      //ファイルイメージ構成 config: [
        {
          位置: "絶対"、
          幅: "400px",
          上: "20px",
          左: "50px",
          不透明度: 0.2、
          zインデックス: 2,
          遷移: "1s"
        },
        {
          位置: "絶対"、
          幅: "800px",
          上: "100px",
          左:「200px」、
          不透明度: 1,
          zインデックス: 4,
          遷移: "1s"
        },
        {
          位置: "絶対"、
          幅: "400px",
          上: "20px",
          左:「750ピクセル」、
          不透明度: 0.2、
          zインデックス: 2,
          遷移: "1s"
        }
      ]、
      前: 0,
      今: Date.now()
    };
  },
  メソッド: {
  //ボタンをクリックして切り替えるアニメーションを実現し、複数回のクリックを防ぐために時間パラメータを設定します turnleft: function() {
      this.now = Date.now();
      if (this.now - this.previous > 1000) {
        this.config.push(this.config.shift());
        this.previous = this.now;
      }
    },
    右折: 関数() {
      this.now = Date.now();
      if (this.now - this.previous > 1000) {
        this.config を unshift します (this.config.pop());
        this.previous = this.now;
      }
    }
  }
};

css:

* {
  マージン: 0;
  パディング: 0;
}
#ラッパー{
  マージン: 自動;
  高さ: 500px;
  幅: 79%;
  位置: 相対的;
}
ul {
  リストスタイル: なし;
}
画像 {
  高さ: 500px;
  幅: 100%;
}
.前,
。次 {
  位置: 絶対;
  高さ: 60px;
  幅: 60ピクセル;
  境界線の半径: 50%;
  上位: 50%;
  上マージン: -56px;
  オーバーフロー: 非表示;
  テキスト装飾: なし;
  背景色: 水色;
  zインデックス: 5;
  不透明度: 1;
}
.前へ {
  左: 0;
}
。次 {
  右: 0;
}
.picleft{
  幅: 400;
  トップ: 20;
  残り: 50;
  不透明度: 0.2;
  zインデックス: 2;
}
.piccenter {
  幅: 800;
  上: 100;
  残り: 200;
  不透明度: 1;
  zインデックス: 4;
}
.picright{
  幅: 400;
  トップ: 20;
  残り: 750;
  不透明度: 0.2;
  zインデックス: 2;
}

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

以下もご興味があるかもしれません:
  • Vueはカルーセルアニメーションを実装します
  • Vue3をベースにカルーセルアニメーション効果を実現

<<:  Navicat 8でMySQL用のデータベースを作成する方法

>>:  Linux サーバーのスクリプトを自動的にバックアップする方法 (mysql、添付ファイルのバックアップ)

推薦する

MySQL ストアド プロシージャ (in、out、inout) の詳細な説明

1. はじめにバージョン 5.0 以降でサポートされています。特定の機能を実行するための SQL ス...

Vueでシングルサインオンを実装する方法のまとめ

最近プロジェクトが中断され、RageFrame の研究は一時的に終了しました。この記事では、シングル...

MySQL 5.7.17 のインストールと設定方法のグラフィック チュートリアル (Ubuntu 16.04)

公式 MySQL Web サイトから Ubuntu Linux 用の最新バージョンの MySQL を...

Vue を使用して CSS トランジションとアニメーションを実装する方法

目次1. トランジションとアニメーションの違い2. Vueを使用して基本的なCSSトランジションとア...

Nginx におけるサーバーとロケーションのマッチングロジックの詳細な理解

サーバーマッチングロジックNginx は、リクエストを実行するサーバー ブロックを決定するときに、サ...

LinuxサーバにおけるNginxとApacheの共存の実装方法の分析

この記事では、Linux サーバー上で Nginx と Apache の共存を実装する方法について説...

CSS transform-originプロパティを理解する

序文最近、花火アニメーションを作成しました。花火が散るアニメーションです。アニメーションの実装中、花...

MySQL Shellの紹介とインストール

目次01 レプリ​​カセットアーキテクチャ02 MySQL Shellの紹介とインストール03 My...

MySQL innodb_autoinc_lock_mode について

innodb_autoinc_lock_mode パラメータは、auto_increment 列を持...

Dockerfile 内の予約語命令の解析処理

目次1. Dockerfile とは何ですか? 2. Dockerfile構築プロセスの分析3. D...

CSS3 カテゴリメニュー効果

CSS3 カテゴリ メニューの効果は次のとおりです。 html <html> <ヘ...

mysql 実行プラン ID が空である (UNION キーワード) の詳細な説明

導入作業プロセス中に、遅いクエリが調整されることがあります。 MySQL SQL ステートメントのチ...

Centos 用の rpm パッケージのカスタマイズと yum リポジトリの構築に関するチュートリアル

1 yumでソフトウェアをインストールしたときにダウンロードしたrpmパッケージを保存しますyum ...

MySQLスケーラブル設計の基本原則

目次序文1. スケーラビリティとは何ですか?スケールアウトの利点:スケールアウトのデメリット:スケー...

Nginx でバージョン番号と Web ページのキャッシュ時間を非表示にする方法

Nginx の最適化 - バージョン番号と Web ページのキャッシュ時間を非表示にするバージョン番...